add librootnumpy.cpp

add librootnumpy.cpp

--- root_numpy/src/_librootnumpy.cpp
+++ root_numpy/src/_librootnumpy.cpp
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.28.4 */
+/* Generated by Cython 0.29.2 */

 #define PY_SSIZE_T_CLEAN
 #include "Python.h"
@@ -7,7 +7,8 @@
 #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
     #error Cython requires Python 2.6+ or Python 3.3+.
 #else
-#define CYTHON_ABI "0_28_4"
+#define CYTHON_ABI "0_29_2"
+#define CYTHON_HEX_VERSION 0x001D02F0
 #define CYTHON_FUTURE_DIVISION 0
 #include <stddef.h>
 #ifndef offsetof
@@ -78,6 +79,10 @@
   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
   #undef CYTHON_USE_TP_FINALIZE
   #define CYTHON_USE_TP_FINALIZE 0
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
 #elif defined(PYSTON_VERSION)
   #define CYTHON_COMPILING_IN_PYPY 0
   #define CYTHON_COMPILING_IN_PYSTON 1
@@ -115,6 +120,10 @@
   #define CYTHON_PEP489_MULTI_PHASE_INIT 0
   #undef CYTHON_USE_TP_FINALIZE
   #define CYTHON_USE_TP_FINALIZE 0
+  #undef CYTHON_USE_DICT_VERSIONS
+  #define CYTHON_USE_DICT_VERSIONS 0
+  #undef CYTHON_USE_EXC_INFO_STACK
+  #define CYTHON_USE_EXC_INFO_STACK 0
 #else
   #define CYTHON_COMPILING_IN_PYPY 0
   #define CYTHON_COMPILING_IN_PYSTON 0
@@ -168,10 +177,16 @@
     #define CYTHON_FAST_PYCALL 1
   #endif
   #ifndef CYTHON_PEP489_MULTI_PHASE_INIT
-    #define CYTHON_PEP489_MULTI_PHASE_INIT (0 && PY_VERSION_HEX >= 0x03050000)
+    #define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
   #endif
   #ifndef CYTHON_USE_TP_FINALIZE
     #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
+  #endif
+  #ifndef CYTHON_USE_DICT_VERSIONS
+    #define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
+  #endif
+  #ifndef CYTHON_USE_EXC_INFO_STACK
+    #define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
   #endif
 #endif
 #if !defined(CYTHON_FAST_PYCCALL)
@@ -182,6 +197,9 @@
   #undef SHIFT
   #undef BASE
   #undef MASK
+  #ifdef SIZEOF_VOID_P
+    enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
+  #endif
 #endif
 #ifndef __has_attribute
   #define __has_attribute(x) 0
@@ -322,6 +340,9 @@
 #ifndef Py_TPFLAGS_HAVE_FINALIZE
   #define Py_TPFLAGS_HAVE_FINALIZE 0
 #endif
+#ifndef METH_STACKLESS
+  #define METH_STACKLESS 0
+#endif
 #if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
   #ifndef METH_FASTCALL
      #define METH_FASTCALL 0x80
@@ -335,14 +356,39 @@
 #endif
 #if CYTHON_FAST_PYCCALL
 #define __Pyx_PyFastCFunction_Check(func)\
-    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS)))))
+    ((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
 #else
 #define __Pyx_PyFastCFunction_Check(func) 0
+#endif
+#if CYTHON_USE_DICT_VERSIONS
+#define __PYX_GET_DICT_VERSION(dict)  (((PyDictObject*)(dict))->ma_version_tag)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
+    (version_var) = __PYX_GET_DICT_VERSION(dict);\
+    (cache_var) = (value);
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
+        static PY_UINT64_T __pyx_dict_version = 0;\
+        static PyObject *__pyx_dict_cached_value = NULL;\
+        if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
+            (VAR) = __pyx_dict_cached_value;\
+        } else {\
+            (VAR) = __pyx_dict_cached_value = (LOOKUP);\
+            __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
+        }\
+    }
+#else
+#define __PYX_GET_DICT_VERSION(dict)  (0)
+#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
+#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP)  (VAR) = (LOOKUP);
 #endif
 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
   #define PyObject_Malloc(s)   PyMem_Malloc(s)
   #define PyObject_Free(p)     PyMem_Free(p)
   #define PyObject_Realloc(p)  PyMem_Realloc(p)
+#endif
+#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
+  #define PyMem_RawMalloc(n)           PyMem_Malloc(n)
+  #define PyMem_RawRealloc(p, n)       PyMem_Realloc(p, n)
+  #define PyMem_RawFree(p)             PyMem_Free(p)
 #endif
 #if CYTHON_COMPILING_IN_PYSTON
   #define __Pyx_PyCode_HasFreeVars(co)  PyCode_HasFreeVars(co)
@@ -451,8 +497,8 @@
 #if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
   #define PyObject_Format(obj, fmt)  PyObject_CallMethod(obj, "__format__", "O", fmt)
 #endif
-#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
-#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
+#define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
+#define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
 #if PY_MAJOR_VERSION >= 3
   #define __Pyx_PyString_Format(a, b)  PyUnicode_Format(a, b)
 #else
@@ -660,6 +706,9 @@
     (sizeof(type) == sizeof(Py_ssize_t) &&\
           (is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
                                v == (type)PY_SSIZE_T_MAX)))  )
+static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
+    return (size_t) i < (size_t) limit;
+}
 #if defined (__cplusplus) && __cplusplus >= 201103L
     #include <cstdlib>
     #define __Pyx_sst_abs(value) std::abs(value)
@@ -718,6 +767,7 @@
 #define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
 static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b);
 static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*);
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*);
 static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x);
 #define __Pyx_PySequence_Tuple(obj)\
     (likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
@@ -798,7 +848,7 @@
     if (!default_encoding) goto bad;
     default_encoding_c = PyBytes_AsString(default_encoding);
     if (!default_encoding_c) goto bad;
-    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c));
+    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
     if (!__PYX_DEFAULT_STRING_ENCODING) goto bad;
     strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
     Py_DECREF(default_encoding);
@@ -924,7 +974,7 @@
 } __Pyx_BufFmt_Context;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":730
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
  * # in Cython to enable them only on the right systems.
  *
  * ctypedef npy_int8       int8_t             # <<<<<<<<<<<<<<
@@ -932,10 +982,10 @@
  * ctypedef npy_int32      int32_t
  */

-#line 730 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 776 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_int8 __pyx_t_5numpy_int8_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":731
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":777
  *
  * ctypedef npy_int8       int8_t
  * ctypedef npy_int16      int16_t             # <<<<<<<<<<<<<<
@@ -943,10 +993,10 @@
  * ctypedef npy_int64      int64_t
  */

-#line 731 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 777 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_int16 __pyx_t_5numpy_int16_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":732
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
  * ctypedef npy_int8       int8_t
  * ctypedef npy_int16      int16_t
  * ctypedef npy_int32      int32_t             # <<<<<<<<<<<<<<
@@ -954,10 +1004,10 @@
  * #ctypedef npy_int96      int96_t
  */

-#line 732 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 778 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_int32 __pyx_t_5numpy_int32_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":733
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
  * ctypedef npy_int16      int16_t
  * ctypedef npy_int32      int32_t
  * ctypedef npy_int64      int64_t             # <<<<<<<<<<<<<<
@@ -965,10 +1015,10 @@
  * #ctypedef npy_int128     int128_t
  */

-#line 733 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 779 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_int64 __pyx_t_5numpy_int64_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":737
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":783
  * #ctypedef npy_int128     int128_t
  *
  * ctypedef npy_uint8      uint8_t             # <<<<<<<<<<<<<<
@@ -976,10 +1026,10 @@
  * ctypedef npy_uint32     uint32_t
  */

-#line 737 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 783 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_uint8 __pyx_t_5numpy_uint8_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":738
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":784
  *
  * ctypedef npy_uint8      uint8_t
  * ctypedef npy_uint16     uint16_t             # <<<<<<<<<<<<<<
@@ -987,10 +1037,10 @@
  * ctypedef npy_uint64     uint64_t
  */

-#line 738 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 784 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_uint16 __pyx_t_5numpy_uint16_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":739
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
  * ctypedef npy_uint8      uint8_t
  * ctypedef npy_uint16     uint16_t
  * ctypedef npy_uint32     uint32_t             # <<<<<<<<<<<<<<
@@ -998,10 +1048,10 @@
  * #ctypedef npy_uint96     uint96_t
  */

-#line 739 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 785 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_uint32 __pyx_t_5numpy_uint32_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":740
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":786
  * ctypedef npy_uint16     uint16_t
  * ctypedef npy_uint32     uint32_t
  * ctypedef npy_uint64     uint64_t             # <<<<<<<<<<<<<<
@@ -1009,10 +1059,10 @@
  * #ctypedef npy_uint128    uint128_t
  */

-#line 740 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 786 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_uint64 __pyx_t_5numpy_uint64_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":744
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
  * #ctypedef npy_uint128    uint128_t
  *
  * ctypedef npy_float32    float32_t             # <<<<<<<<<<<<<<
@@ -1020,10 +1070,10 @@
  * #ctypedef npy_float80    float80_t
  */

-#line 744 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 790 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_float32 __pyx_t_5numpy_float32_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":745
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
  *
  * ctypedef npy_float32    float32_t
  * ctypedef npy_float64    float64_t             # <<<<<<<<<<<<<<
@@ -1031,10 +1081,10 @@
  * #ctypedef npy_float128   float128_t
  */

-#line 745 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 791 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_float64 __pyx_t_5numpy_float64_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":754
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":800
  * # The int types are mapped a bit surprising --
  * # numpy.int corresponds to 'l' and numpy.long to 'q'
  * ctypedef npy_long       int_t             # <<<<<<<<<<<<<<
@@ -1042,10 +1092,10 @@
  * ctypedef npy_longlong   longlong_t
  */

-#line 754 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 800 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_long __pyx_t_5numpy_int_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":755
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
  * # numpy.int corresponds to 'l' and numpy.long to 'q'
  * ctypedef npy_long       int_t
  * ctypedef npy_longlong   long_t             # <<<<<<<<<<<<<<
@@ -1053,10 +1103,10 @@
  *
  */

-#line 755 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 801 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_longlong __pyx_t_5numpy_long_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":756
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
  * ctypedef npy_long       int_t
  * ctypedef npy_longlong   long_t
  * ctypedef npy_longlong   longlong_t             # <<<<<<<<<<<<<<
@@ -1064,10 +1114,10 @@
  * ctypedef npy_ulong      uint_t
  */

-#line 756 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 802 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_longlong __pyx_t_5numpy_longlong_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":758
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":804
  * ctypedef npy_longlong   longlong_t
  *
  * ctypedef npy_ulong      uint_t             # <<<<<<<<<<<<<<
@@ -1075,10 +1125,10 @@
  * ctypedef npy_ulonglong  ulonglong_t
  */

-#line 758 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 804 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_ulong __pyx_t_5numpy_uint_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":759
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":805
  *
  * ctypedef npy_ulong      uint_t
  * ctypedef npy_ulonglong  ulong_t             # <<<<<<<<<<<<<<
@@ -1086,10 +1136,10 @@
  *
  */

-#line 759 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 805 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_ulonglong __pyx_t_5numpy_ulong_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":760
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
  * ctypedef npy_ulong      uint_t
  * ctypedef npy_ulonglong  ulong_t
  * ctypedef npy_ulonglong  ulonglong_t             # <<<<<<<<<<<<<<
@@ -1097,10 +1147,10 @@
  * ctypedef npy_intp       intp_t
  */

-#line 760 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 806 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_ulonglong __pyx_t_5numpy_ulonglong_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":762
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":808
  * ctypedef npy_ulonglong  ulonglong_t
  *
  * ctypedef npy_intp       intp_t             # <<<<<<<<<<<<<<
@@ -1108,10 +1158,10 @@
  *
  */

-#line 762 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 808 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_intp __pyx_t_5numpy_intp_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":763
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":809
  *
  * ctypedef npy_intp       intp_t
  * ctypedef npy_uintp      uintp_t             # <<<<<<<<<<<<<<
@@ -1119,10 +1169,10 @@
  * ctypedef npy_double     float_t
  */

-#line 763 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 809 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_uintp __pyx_t_5numpy_uintp_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":765
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":811
  * ctypedef npy_uintp      uintp_t
  *
  * ctypedef npy_double     float_t             # <<<<<<<<<<<<<<
@@ -1130,10 +1180,10 @@
  * ctypedef npy_longdouble longdouble_t
  */

-#line 765 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 811 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_double __pyx_t_5numpy_float_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":766
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":812
  *
  * ctypedef npy_double     float_t
  * ctypedef npy_double     double_t             # <<<<<<<<<<<<<<
@@ -1141,10 +1191,10 @@
  *
  */

-#line 766 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 812 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_double __pyx_t_5numpy_double_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":767
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
  * ctypedef npy_double     float_t
  * ctypedef npy_double     double_t
  * ctypedef npy_longdouble longdouble_t             # <<<<<<<<<<<<<<
@@ -1152,7 +1202,7 @@
  * ctypedef npy_cfloat      cfloat_t
  */

-#line 767 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 813 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_longdouble __pyx_t_5numpy_longdouble_t;

 /* "root_numpy/src/setup.pxi":37
@@ -1262,7 +1312,7 @@
 typedef struct arrayobject arrayobject;
 #endif

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":769
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":815
  * ctypedef npy_longdouble longdouble_t
  *
  * ctypedef npy_cfloat      cfloat_t             # <<<<<<<<<<<<<<
@@ -1270,10 +1320,10 @@
  * ctypedef npy_clongdouble clongdouble_t
  */

-#line 769 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 815 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_cfloat __pyx_t_5numpy_cfloat_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":770
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":816
  *
  * ctypedef npy_cfloat      cfloat_t
  * ctypedef npy_cdouble     cdouble_t             # <<<<<<<<<<<<<<
@@ -1281,10 +1331,10 @@
  *
  */

-#line 770 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 816 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_cdouble __pyx_t_5numpy_cdouble_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":771
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":817
  * ctypedef npy_cfloat      cfloat_t
  * ctypedef npy_cdouble     cdouble_t
  * ctypedef npy_clongdouble clongdouble_t             # <<<<<<<<<<<<<<
@@ -1292,10 +1342,10 @@
  * ctypedef npy_cdouble     complex_t
  */

-#line 771 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 817 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t;

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":773
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":819
  * ctypedef npy_clongdouble clongdouble_t
  *
  * ctypedef npy_cdouble     complex_t             # <<<<<<<<<<<<<<
@@ -1303,88 +1353,88 @@
  * cdef inline object PyArray_MultiIterNew1(a):
  */

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 typedef npy_cdouble __pyx_t_5numpy_complex_t;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_write_array;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_write_array_vectorbool;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_write_array_vectorstring;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_Converter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_BasicConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_ObjectConverterBase;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VaryArrayConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_FixedArrayConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_CharArrayConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 template <typename T>

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VectorConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 template <typename T>

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VectorVectorConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VectorBoolConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VectorVectorBoolConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_StringConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VectorStringConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_VectorVectorStringConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_get_converter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_NP2ROOTConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_t_13_librootnumpy_FixedNP2ROOTConverter;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_21FixedNP2ROOTConverter___init__;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_list_objects_recursive;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_get_tree_structure;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_humanize_bytes;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_handle_load;

-#line 773 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 819 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 struct __pyx_opt_args_13_librootnumpy_array2tree;

 /* "root_numpy/src/converters.pyx":50
@@ -2291,7 +2341,25 @@
 static PyObject *__Pyx_GetBuiltinName(PyObject *name);

 /* GetModuleGlobalName.proto */
-static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name);
+#if CYTHON_USE_DICT_VERSIONS
+#define __Pyx_GetModuleGlobalName(var, name)  {\
+    static PY_UINT64_T __pyx_dict_version = 0;\
+    static PyObject *__pyx_dict_cached_value = NULL;\
+    (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
+        (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
+        __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+}
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  {\
+    PY_UINT64_T __pyx_dict_version;\
+    PyObject *__pyx_dict_cached_value;\
+    (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
+}
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
+#else
+#define __Pyx_GetModuleGlobalName(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+#define __Pyx_GetModuleGlobalNameUncached(var, name)  (var) = __Pyx__GetModuleGlobalName(name)
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
+#endif

 /* PyFunctionFastCall.proto */
 #if CYTHON_FAST_PYCALL
@@ -2302,6 +2370,18 @@
 #else
 #define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
 #endif
+#define __Pyx_BUILD_ASSERT_EXPR(cond)\
+    (sizeof(char [1 - 2*!(cond)]) - 1)
+#ifndef Py_MEMBER_SIZE
+#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
+#endif
+  static size_t __pyx_pyframe_localsplus_offset = 0;
+  #include "frameobject.h"
+  #define __Pxy_PyFrame_Initialize_Offsets()\
+    ((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
+     (void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
+  #define __Pyx_PyFrame_GetLocalsplus(frame)\
+    (assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
 #endif

 /* PyCFunctionFastCall.proto */
@@ -2373,6 +2453,9 @@
                                   int lineno, const char *filename,
                                   int full_traceback, int nogil);

+/* PyObjectCall2Args.proto */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
+
 /* DictGetItem.proto */
 #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
@@ -2559,6 +2642,11 @@
     (inplace ? PyNumber_InPlaceAdd(op1, op2) : PyNumber_Add(op1, op2))
 #endif

+/* GetTopmostException.proto */
+#if CYTHON_USE_EXC_INFO_STACK
+static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
+#endif
+
 /* SaveResetException.proto */
 #if CYTHON_FAST_THREAD_STATE
 #define __Pyx_ExceptionSave(type, value, tb)  __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
@@ -2644,6 +2732,17 @@

 /* BufferIndexError.proto */
 static void __Pyx_RaiseBufferIndexError(int axis);
+
+/* TypeImport.proto */
+#ifndef __PYX_HAVE_RT_ImportType_proto
+#define __PYX_HAVE_RT_ImportType_proto
+enum __Pyx_ImportType_CheckSize {
+   __Pyx_ImportType_CheckSize_Error = 0,
+   __Pyx_ImportType_CheckSize_Warn = 1,
+   __Pyx_ImportType_CheckSize_Ignore = 2
+};
+static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size);
+#endif

 /* Import.proto */
 static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
@@ -3013,21 +3112,6 @@
 /* CheckBinaryVersion.proto */
 static int __Pyx_check_binary_version(void);

-/* PyIdentifierFromString.proto */
-#if !defined(__Pyx_PyIdentifier_FromString)
-#if PY_MAJOR_VERSION < 3
-  #define __Pyx_PyIdentifier_FromString(s) PyString_FromString(s)
-#else
-  #define __Pyx_PyIdentifier_FromString(s) PyUnicode_FromString(s)
-#endif
-#endif
-
-/* ModuleImport.proto */
-static PyObject *__Pyx_ImportModule(const char *name);
-
-/* TypeImport.proto */
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name, size_t size, int strict);
-
 /* InitStrings.proto */
 static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);

@@ -3223,7 +3307,10 @@
 static const char __pyx_k_PB[] = "PB";
 static const char __pyx_k_TB[] = "TB";
 static const char __pyx_k__5[] = "[]";
-static const char __pyx_k__7[] = "][";
+static const char __pyx_k__6[] = "][";
+static const char __pyx_k__7[] = "[";
+static const char __pyx_k__8[] = "]";
+static const char __pyx_k__9[] = "";
 static const char __pyx_k_f1[] = "f1";
 static const char __pyx_k_f2[] = "f2";
 static const char __pyx_k_f3[] = "f3";
@@ -3237,23 +3324,23 @@
 static const char __pyx_k_np[] = "np";
 static const char __pyx_k_re[] = "re";
 static const char __pyx_k_0_d[] = "[{0:d}]";
-static const char __pyx_k__11[] = "[";
-static const char __pyx_k__12[] = "]";
-static const char __pyx_k__15[] = "";
-static const char __pyx_k__16[] = "/";
-static const char __pyx_k__17[] = ", ";
-static const char __pyx_k__33[] = "_";
+static const char __pyx_k__10[] = "/";
+static const char __pyx_k__11[] = ", ";
+static const char __pyx_k__27[] = "_";
 static const char __pyx_k_arr[] = "arr";
 static const char __pyx_k_f_s[] = "%.*f %s";
 static const char __pyx_k_get[] = "get";
 static const char __pyx_k_idx[] = "idx";
 static const char __pyx_k_int[] = "int";
+static const char __pyx_k_key[] = "key";
 static const char __pyx_k_mat[] = "_mat";
 static const char __pyx_k_pop[] = "pop";
 static const char __pyx_k_ret[] = "ret";
+static const char __pyx_k_tdf[] = "tdf";
 static const char __pyx_k_bool[] = "bool";
 static const char __pyx_k_char[] = "char";
 static const char __pyx_k_data[] = "data";
+static const char __pyx_k_dirs[] = "dirs";
 static const char __pyx_k_f1_2[] = "f1_";
 static const char __pyx_k_f2_2[] = "f2_";
 static const char __pyx_k_f3_2[] = "f3_";
@@ -3275,6 +3362,7 @@
 static const char __pyx_k_main[] = "__main__";
 static const char __pyx_k_mode[] = "mode";
 static const char __pyx_k_name[] = "name";
+static const char __pyx_k_path[] = "path";
 static const char __pyx_k_size[] = "size";
 static const char __pyx_k_step[] = "step";
 static const char __pyx_k_stop[] = "stop";
@@ -3318,6 +3406,7 @@
 static const char __pyx_k_split[] = "split";
 static const char __pyx_k_start[] = "start";
 static const char __pyx_k_strip[] = "strip";
+static const char __pyx_k_tname[] = "tname";
 static const char __pyx_k_types[] = "types";
 static const char __pyx_k_uint8[] = "uint8";
 static const char __pyx_k_utf_8[] = "utf-8";
@@ -3335,6 +3424,7 @@
 static const char __pyx_k_import[] = "__import__";
 static const char __pyx_k_intree[] = "intree";
 static const char __pyx_k_matrix[] = "matrix";
+static const char __pyx_k_name_2[] = "__name__";
 static const char __pyx_k_object[] = "object";
 static const char __pyx_k_resize[] = "resize";
 static const char __pyx_k_spline[] = "spline";
@@ -3441,6 +3531,7 @@
 static const char __pyx_k_ImportError[] = "ImportError";
 static const char __pyx_k_MemoryError[] = "MemoryError";
 static const char __pyx_k_OrderedDict[] = "OrderedDict";
+static const char __pyx_k_clsToCreate[] = "clsToCreate";
 static const char __pyx_k_collections[] = "collections";
 static const char __pyx_k_evaluate_f1[] = "evaluate_f1";
 static const char __pyx_k_evaluate_f2[] = "evaluate_f2";
@@ -3504,6 +3595,7 @@
 static const char __pyx_k_vector_unsigned_int[] = "vector<unsigned int>";
 static const char __pyx_k_vector_vector_float[] = "vector<vector<float> >";
 static const char __pyx_k_vector_vector_short[] = "vector<vector<short> >";
+static const char __pyx_k_0_with_path_1_exists[] = "{0} with path {1} exists";
 static const char __pyx_k_tree_has_no_branches[] = "tree has no branches";
 static const char __pyx_k_vector_unsigned_char[] = "vector<unsigned char>";
 static const char __pyx_k_vector_unsigned_long[] = "vector<unsigned long>";
@@ -3574,6 +3666,7 @@
 static PyObject *__pyx_kp_s_0_d;
 static PyObject *__pyx_kp_s_0_d_C;
 static PyObject *__pyx_kp_s_0_is_not_a_ROOT_class;
+static PyObject *__pyx_kp_s_0_with_path_1_exists;
 static PyObject *__pyx_kp_s_1_byte;
 static PyObject *__pyx_n_s_AssertionError;
 static PyObject *__pyx_n_s_B;
@@ -3613,14 +3706,14 @@
 static PyObject *__pyx_n_s_TypeError;
 static PyObject *__pyx_n_s_ULong64_t;
 static PyObject *__pyx_n_s_ValueError;
+static PyObject *__pyx_kp_s__10;
 static PyObject *__pyx_kp_s__11;
-static PyObject *__pyx_kp_s__12;
-static PyObject *__pyx_kp_s__15;
-static PyObject *__pyx_kp_s__16;
-static PyObject *__pyx_kp_s__17;
-static PyObject *__pyx_n_b__33;
+static PyObject *__pyx_n_b__27;
 static PyObject *__pyx_kp_s__5;
+static PyObject *__pyx_kp_s__6;
 static PyObject *__pyx_kp_s__7;
+static PyObject *__pyx_kp_s__8;
+static PyObject *__pyx_kp_s__9;
 static PyObject *__pyx_n_s_arr;
 static PyObject *__pyx_n_s_arr_2;
 static PyObject *__pyx_n_s_array;
@@ -3661,6 +3754,7 @@
 static PyObject *__pyx_n_s_classes;
 static PyObject *__pyx_n_s_cleanup;
 static PyObject *__pyx_n_s_cline_in_traceback;
+static PyObject *__pyx_n_s_clsToCreate;
 static PyObject *__pyx_n_s_clsname;
 static PyObject *__pyx_n_s_collections;
 static PyObject *__pyx_n_s_compile;
@@ -3675,6 +3769,7 @@
 static PyObject *__pyx_n_s_ctypename;
 static PyObject *__pyx_n_s_d;
 static PyObject *__pyx_n_s_data;
+static PyObject *__pyx_n_s_dirs;
 static PyObject *__pyx_n_b_double;
 static PyObject *__pyx_n_s_double;
 static PyObject *__pyx_n_s_dtype;
@@ -3783,6 +3878,7 @@
 static PyObject *__pyx_n_s_j;
 static PyObject *__pyx_n_s_join;
 static PyObject *__pyx_n_s_kB;
+static PyObject *__pyx_n_s_key;
 static PyObject *__pyx_n_s_keys;
 static PyObject *__pyx_n_s_kind;
 static PyObject *__pyx_n_s_l;
@@ -3808,6 +3904,7 @@
 static PyObject *__pyx_kp_s_multiple_trees_found_0;
 static PyObject *__pyx_n_s_n_samples;
 static PyObject *__pyx_n_s_name;
+static PyObject *__pyx_n_s_name_2;
 static PyObject *__pyx_n_s_names;
 static PyObject *__pyx_n_s_nbins;
 static PyObject *__pyx_kp_u_ndarray_is_not_C_contiguous;
@@ -3822,6 +3919,7 @@
 static PyObject *__pyx_kp_s_object_selection_contains_branch;
 static PyObject *__pyx_n_s_objects;
 static PyObject *__pyx_n_s_outtree;
+static PyObject *__pyx_n_s_path;
 static PyObject *__pyx_n_s_pop;
 static PyObject *__pyx_n_s_profile;
 static PyObject *__pyx_n_s_profile_2;
@@ -3873,12 +3971,14 @@
 static PyObject *__pyx_n_s_structure;
 static PyObject *__pyx_n_s_subdtype;
 static PyObject *__pyx_n_s_tclass;
+static PyObject *__pyx_n_s_tdf;
 static PyObject *__pyx_n_s_test;
 static PyObject *__pyx_kp_s_the_branch_or_expression_0_is_no;
 static PyObject *__pyx_kp_s_the_chain_is_not_initialized;
 static PyObject *__pyx_kp_s_the_expression_0_is_not_valid;
 static PyObject *__pyx_n_s_thn2array;
 static PyObject *__pyx_n_s_thnsparse2array;
+static PyObject *__pyx_n_s_tname;
 static PyObject *__pyx_n_b_tree;
 static PyObject *__pyx_n_s_tree;
 static PyObject *__pyx_kp_s_tree_0_not_found_in_1;
@@ -4025,17 +4125,17 @@
 static PyObject *__pyx_int_1073741824;
 static PyObject *__pyx_int_1099511627776;
 static PyObject *__pyx_int_1125899906842624;
-static std::string __pyx_k__38;
+static std::string __pyx_k__32;
 static PyObject *__pyx_tuple_;
 static PyObject *__pyx_tuple__2;
 static PyObject *__pyx_tuple__3;
 static PyObject *__pyx_tuple__4;
-static PyObject *__pyx_tuple__6;
-static PyObject *__pyx_tuple__8;
-static PyObject *__pyx_tuple__9;
-static PyObject *__pyx_tuple__10;
+static PyObject *__pyx_tuple__12;
 static PyObject *__pyx_tuple__13;
 static PyObject *__pyx_tuple__14;
+static PyObject *__pyx_tuple__15;
+static PyObject *__pyx_tuple__16;
+static PyObject *__pyx_tuple__17;
 static PyObject *__pyx_tuple__18;
 static PyObject *__pyx_tuple__19;
 static PyObject *__pyx_tuple__20;
@@ -4045,16 +4145,16 @@
 static PyObject *__pyx_tuple__24;
 static PyObject *__pyx_tuple__25;
 static PyObject *__pyx_tuple__26;
-static PyObject *__pyx_tuple__27;
 static PyObject *__pyx_tuple__28;
 static PyObject *__pyx_tuple__29;
 static PyObject *__pyx_tuple__30;
 static PyObject *__pyx_tuple__31;
-static PyObject *__pyx_tuple__32;
+static PyObject *__pyx_tuple__33;
 static PyObject *__pyx_tuple__34;
 static PyObject *__pyx_tuple__35;
 static PyObject *__pyx_tuple__36;
 static PyObject *__pyx_tuple__37;
+static PyObject *__pyx_tuple__38;
 static PyObject *__pyx_tuple__39;
 static PyObject *__pyx_tuple__40;
 static PyObject *__pyx_tuple__41;
@@ -4070,19 +4170,12 @@
 static PyObject *__pyx_tuple__51;
 static PyObject *__pyx_tuple__52;
 static PyObject *__pyx_tuple__53;
-static PyObject *__pyx_tuple__54;
 static PyObject *__pyx_tuple__55;
-static PyObject *__pyx_tuple__56;
 static PyObject *__pyx_tuple__57;
-static PyObject *__pyx_tuple__58;
 static PyObject *__pyx_tuple__59;
-static PyObject *__pyx_tuple__60;
 static PyObject *__pyx_tuple__61;
-static PyObject *__pyx_tuple__62;
 static PyObject *__pyx_tuple__63;
-static PyObject *__pyx_tuple__64;
 static PyObject *__pyx_tuple__65;
-static PyObject *__pyx_tuple__66;
 static PyObject *__pyx_tuple__67;
 static PyObject *__pyx_tuple__69;
 static PyObject *__pyx_tuple__71;
@@ -4140,13 +4233,13 @@
 static PyObject *__pyx_tuple__175;
 static PyObject *__pyx_tuple__177;
 static PyObject *__pyx_tuple__179;
-static PyObject *__pyx_tuple__181;
-static PyObject *__pyx_tuple__183;
-static PyObject *__pyx_tuple__185;
-static PyObject *__pyx_tuple__187;
-static PyObject *__pyx_tuple__189;
-static PyObject *__pyx_tuple__191;
-static PyObject *__pyx_tuple__193;
+static PyObject *__pyx_codeobj__54;
+static PyObject *__pyx_codeobj__56;
+static PyObject *__pyx_codeobj__58;
+static PyObject *__pyx_codeobj__60;
+static PyObject *__pyx_codeobj__62;
+static PyObject *__pyx_codeobj__64;
+static PyObject *__pyx_codeobj__66;
 static PyObject *__pyx_codeobj__68;
 static PyObject *__pyx_codeobj__70;
 static PyObject *__pyx_codeobj__72;
@@ -4204,13 +4297,6 @@
 static PyObject *__pyx_codeobj__176;
 static PyObject *__pyx_codeobj__178;
 static PyObject *__pyx_codeobj__180;
-static PyObject *__pyx_codeobj__182;
-static PyObject *__pyx_codeobj__184;
-static PyObject *__pyx_codeobj__186;
-static PyObject *__pyx_codeobj__188;
-static PyObject *__pyx_codeobj__190;
-static PyObject *__pyx_codeobj__192;
-static PyObject *__pyx_codeobj__194;
 /* Late includes */

 /* "root_numpy/src/converters.pyx":43
@@ -4292,7 +4378,7 @@
  */

 #line 46 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_SPECIAL_TYPEDEFS); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 46, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_SPECIAL_TYPEDEFS); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 46, __pyx_L1_error)

 #line 46 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -8020,7 +8106,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 243 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 243, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 243, __pyx_L1_error)

 #line 243 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -8606,7 +8692,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 281 "root_numpy/src/converters.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 281, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 281, __pyx_L1_error)

 #line 281 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -9400,9 +9486,6 @@
   PyObject *__pyx_t_4 = NULL;

 #line 327 "root_numpy/src/converters.pyx"
-  PyObject *__pyx_t_5 = NULL;
-
-#line 327 "root_numpy/src/converters.pyx"
   __Pyx_RefNannySetupContext("get_dtype", 0);

   /* "root_numpy/src/converters.pyx":328
@@ -9459,109 +9542,19 @@
   }

 #line 328 "root_numpy/src/converters.pyx"
-  if (!__pyx_t_4) {
+  __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);

 #line 328 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 328, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 328 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 328 "root_numpy/src/converters.pyx"
-    __Pyx_GOTREF(__pyx_t_1);
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 328, __pyx_L1_error)

 #line 328 "root_numpy/src/converters.pyx"
-  } else {
-
-#line 328 "root_numpy/src/converters.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 328 "root_numpy/src/converters.pyx"
-    if (PyFunction_Check(__pyx_t_2)) {
-
-#line 328 "root_numpy/src/converters.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
-
-#line 328 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 328, __pyx_L1_error)
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 328 "root_numpy/src/converters.pyx"
-    } else
-
-#line 328 "root_numpy/src/converters.pyx"
-    #endif
-
-#line 328 "root_numpy/src/converters.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 328 "root_numpy/src/converters.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 328 "root_numpy/src/converters.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
-
-#line 328 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 328, __pyx_L1_error)
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 328 "root_numpy/src/converters.pyx"
-    } else
-
-#line 328 "root_numpy/src/converters.pyx"
-    #endif
-
-#line 328 "root_numpy/src/converters.pyx"
-    {
-
-#line 328 "root_numpy/src/converters.pyx"
-      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 328, __pyx_L1_error)
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_GIVEREF(__pyx_t_3);
-
-#line 328 "root_numpy/src/converters.pyx"
-      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
-
-#line 328 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = 0;
-
-#line 328 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 328, __pyx_L1_error)
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
-
-#line 328 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 328 "root_numpy/src/converters.pyx"
-    }
-
-#line 328 "root_numpy/src/converters.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_1);

 #line 328 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -9603,9 +9596,6 @@

 #line 327 "root_numpy/src/converters.pyx"
   __Pyx_XDECREF(__pyx_t_4);
-
-#line 327 "root_numpy/src/converters.pyx"
-  __Pyx_XDECREF(__pyx_t_5);

 #line 327 "root_numpy/src/converters.pyx"
   __Pyx_AddTraceback("CharArrayConverter.get_dtype", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -9755,7 +9745,7 @@
  */

 #line 342 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_TYPES); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 342, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_TYPES); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 342, __pyx_L1_error)

 #line 342 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -10256,7 +10246,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 364 "root_numpy/src/converters.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 364, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 364, __pyx_L1_error)

 #line 364 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -10453,7 +10443,7 @@
  */

 #line 377 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_TYPES); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 377, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_TYPES); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 377, __pyx_L1_error)

 #line 377 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -11051,7 +11041,7 @@
     __Pyx_XDECREF(__pyx_r);

 #line 423 "root_numpy/src/converters.pyx"
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 423, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 423, __pyx_L1_error)

 #line 423 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_2);
@@ -11120,7 +11110,7 @@
     __Pyx_XDECREF(__pyx_r);

 #line 426 "root_numpy/src/converters.pyx"
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 426, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 426, __pyx_L1_error)

 #line 426 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_2);
@@ -11205,7 +11195,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 428 "root_numpy/src/converters.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 428, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 428, __pyx_L1_error)

 #line 428 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -12354,16 +12344,16 @@
   PyObject *__pyx_t_2 = NULL;

 #line 595 "root_numpy/src/converters.pyx"
-  int __pyx_t_3;
+  PyObject *__pyx_t_3 = NULL;

 #line 595 "root_numpy/src/converters.pyx"
-  Py_ssize_t __pyx_t_4;
+  int __pyx_t_4;

 #line 595 "root_numpy/src/converters.pyx"
-  PyObject *(*__pyx_t_5)(PyObject *);
+  Py_ssize_t __pyx_t_5;

 #line 595 "root_numpy/src/converters.pyx"
-  PyObject *__pyx_t_6 = NULL;
+  PyObject *(*__pyx_t_6)(PyObject *);

 #line 595 "root_numpy/src/converters.pyx"
   std::string __pyx_t_7;
@@ -12398,25 +12388,61 @@
  */

 #line 597 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arraydef, __pyx_n_s_strip); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 597, __pyx_L1_error)
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arraydef, __pyx_n_s_strip); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 597, __pyx_L1_error)
+
+#line 597 "root_numpy/src/converters.pyx"
+  __Pyx_GOTREF(__pyx_t_2);
+
+#line 597 "root_numpy/src/converters.pyx"
+  __pyx_t_3 = NULL;
+
+#line 597 "root_numpy/src/converters.pyx"
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+
+#line 597 "root_numpy/src/converters.pyx"
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+
+#line 597 "root_numpy/src/converters.pyx"
+    if (likely(__pyx_t_3)) {
+
+#line 597 "root_numpy/src/converters.pyx"
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+
+#line 597 "root_numpy/src/converters.pyx"
+      __Pyx_INCREF(__pyx_t_3);
+
+#line 597 "root_numpy/src/converters.pyx"
+      __Pyx_INCREF(function);
+
+#line 597 "root_numpy/src/converters.pyx"
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+
+#line 597 "root_numpy/src/converters.pyx"
+    }
+
+#line 597 "root_numpy/src/converters.pyx"
+  }
+
+#line 597 "root_numpy/src/converters.pyx"
+  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s__5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s__5);
+
+#line 597 "root_numpy/src/converters.pyx"
+  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+#line 597 "root_numpy/src/converters.pyx"
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 597, __pyx_L1_error)

 #line 597 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);

 #line 597 "root_numpy/src/converters.pyx"
-  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 597, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 597 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_v_arraytokens = __pyx_t_1;

 #line 597 "root_numpy/src/converters.pyx"
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 597 "root_numpy/src/converters.pyx"
-  __pyx_v_arraytokens = __pyx_t_2;
-
-#line 597 "root_numpy/src/converters.pyx"
-  __pyx_t_2 = 0;
+  __pyx_t_1 = 0;

   /* "root_numpy/src/converters.pyx":598
  *     # Determine shape ignoring possible variable first dimension
@@ -12427,10 +12453,10 @@
  */

 #line 598 "root_numpy/src/converters.pyx"
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_arraytokens); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 598, __pyx_L1_error)
+  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_arraytokens); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 598, __pyx_L1_error)

 #line 598 "root_numpy/src/converters.pyx"
-  if (__pyx_t_3) {
+  if (__pyx_t_4) {

     /* "root_numpy/src/converters.pyx":599
  *     arraytokens = arraydef.strip('[]')
@@ -12447,7 +12473,43 @@
     __Pyx_GOTREF(__pyx_t_2);

 #line 599 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 599, __pyx_L1_error)
+    __pyx_t_3 = NULL;
+
+#line 599 "root_numpy/src/converters.pyx"
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+
+#line 599 "root_numpy/src/converters.pyx"
+      __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
+
+#line 599 "root_numpy/src/converters.pyx"
+      if (likely(__pyx_t_3)) {
+
+#line 599 "root_numpy/src/converters.pyx"
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+
+#line 599 "root_numpy/src/converters.pyx"
+        __Pyx_INCREF(__pyx_t_3);
+
+#line 599 "root_numpy/src/converters.pyx"
+        __Pyx_INCREF(function);
+
+#line 599 "root_numpy/src/converters.pyx"
+        __Pyx_DECREF_SET(__pyx_t_2, function);
+
+#line 599 "root_numpy/src/converters.pyx"
+      }
+
+#line 599 "root_numpy/src/converters.pyx"
+    }
+
+#line 599 "root_numpy/src/converters.pyx"
+    __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_s__6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s__6);
+
+#line 599 "root_numpy/src/converters.pyx"
+    __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+#line 599 "root_numpy/src/converters.pyx"
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 599, __pyx_L1_error)

 #line 599 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -12490,14 +12552,14 @@
   if (likely(PyList_CheckExact(__pyx_v_arraytokens)) || PyTuple_CheckExact(__pyx_v_arraytokens)) {

 #line 600 "root_numpy/src/converters.pyx"
-    __pyx_t_2 = __pyx_v_arraytokens; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;
+    __pyx_t_2 = __pyx_v_arraytokens; __Pyx_INCREF(__pyx_t_2); __pyx_t_5 = 0;

 #line 600 "root_numpy/src/converters.pyx"
-    __pyx_t_5 = NULL;
+    __pyx_t_6 = NULL;

 #line 600 "root_numpy/src/converters.pyx"
   } else {
-    __pyx_t_4 = -1;
+    __pyx_t_5 = -1;
 #line 600 "root_numpy/src/converters.pyx"
 __pyx_t_2 = PyObject_GetIter(__pyx_v_arraytokens); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 600, __pyx_L1_error)

@@ -12505,7 +12567,7 @@
     __Pyx_GOTREF(__pyx_t_2);

 #line 600 "root_numpy/src/converters.pyx"
-    __pyx_t_5 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 600, __pyx_L1_error)
+    __pyx_t_6 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
   }
@@ -12514,28 +12576,28 @@
   for (;;) {

 #line 600 "root_numpy/src/converters.pyx"
-    if (likely(!__pyx_t_5)) {
+    if (likely(!__pyx_t_6)) {

 #line 600 "root_numpy/src/converters.pyx"
       if (likely(PyList_CheckExact(__pyx_t_2))) {

 #line 600 "root_numpy/src/converters.pyx"
-        if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break;
+        if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_2)) break;

 #line 600 "root_numpy/src/converters.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 600 "root_numpy/src/converters.pyx"
-        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 600, __pyx_L1_error)
+        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
         #else

 #line 600 "root_numpy/src/converters.pyx"
-        __pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 600, __pyx_L1_error)
+        __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_GOTREF(__pyx_t_3);

 #line 600 "root_numpy/src/converters.pyx"
         #endif
@@ -12544,22 +12606,22 @@
       } else {

 #line 600 "root_numpy/src/converters.pyx"
-        if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+        if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_2)) break;

 #line 600 "root_numpy/src/converters.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 600 "root_numpy/src/converters.pyx"
-        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(1, 600, __pyx_L1_error)
+        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_5); __Pyx_INCREF(__pyx_t_3); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
         #else

 #line 600 "root_numpy/src/converters.pyx"
-        __pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 600, __pyx_L1_error)
+        __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_GOTREF(__pyx_t_3);

 #line 600 "root_numpy/src/converters.pyx"
         #endif
@@ -12571,10 +12633,10 @@
 {

 #line 600 "root_numpy/src/converters.pyx"
-      __pyx_t_6 = __pyx_t_5(__pyx_t_2);
+      __pyx_t_3 = __pyx_t_6(__pyx_t_2);

 #line 600 "root_numpy/src/converters.pyx"
-      if (unlikely(!__pyx_t_6)) {
+      if (unlikely(!__pyx_t_3)) {

 #line 600 "root_numpy/src/converters.pyx"
         PyObject* exc_type = PyErr_Occurred();
@@ -12598,28 +12660,28 @@
       }

 #line 600 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_3);

 #line 600 "root_numpy/src/converters.pyx"
     }

 #line 600 "root_numpy/src/converters.pyx"
-    __Pyx_XDECREF_SET(__pyx_v_token, __pyx_t_6);
+    __Pyx_XDECREF_SET(__pyx_v_token, __pyx_t_3);

 #line 600 "root_numpy/src/converters.pyx"
-    __pyx_t_6 = 0;
+    __pyx_t_3 = 0;

 #line 600 "root_numpy/src/converters.pyx"
-    __pyx_t_6 = __Pyx_PyNumber_Int(__pyx_v_token); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 600, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_token); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
-    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GOTREF(__pyx_t_3);

 #line 600 "root_numpy/src/converters.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(1, 600, __pyx_L1_error)
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_3))) __PYX_ERR(1, 600, __pyx_L1_error)

 #line 600 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 600 "root_numpy/src/converters.pyx"
   }
@@ -12651,28 +12713,64 @@
  */

 #line 603 "root_numpy/src/converters.pyx"
-  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_arraydef, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 603, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_arraydef, __pyx_n_s_startswith); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 603, __pyx_L1_error)
+
+#line 603 "root_numpy/src/converters.pyx"
+  __Pyx_GOTREF(__pyx_t_1);
+
+#line 603 "root_numpy/src/converters.pyx"
+  __pyx_t_3 = NULL;
+
+#line 603 "root_numpy/src/converters.pyx"
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
+
+#line 603 "root_numpy/src/converters.pyx"
+    __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_1);
+
+#line 603 "root_numpy/src/converters.pyx"
+    if (likely(__pyx_t_3)) {
+
+#line 603 "root_numpy/src/converters.pyx"
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
+
+#line 603 "root_numpy/src/converters.pyx"
+      __Pyx_INCREF(__pyx_t_3);
+
+#line 603 "root_numpy/src/converters.pyx"
+      __Pyx_INCREF(function);
+
+#line 603 "root_numpy/src/converters.pyx"
+      __Pyx_DECREF_SET(__pyx_t_1, function);
+
+#line 603 "root_numpy/src/converters.pyx"
+    }
+
+#line 603 "root_numpy/src/converters.pyx"
+  }
+
+#line 603 "root_numpy/src/converters.pyx"
+  __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_kp_s__5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_kp_s__5);
+
+#line 603 "root_numpy/src/converters.pyx"
+  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+#line 603 "root_numpy/src/converters.pyx"
+  if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 603, __pyx_L1_error)

 #line 603 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_2);

 #line 603 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 603, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 603 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(1, 603, __pyx_L1_error)

 #line 603 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 603 "root_numpy/src/converters.pyx"
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(1, 603, __pyx_L1_error)
-
-#line 603 "root_numpy/src/converters.pyx"
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 603 "root_numpy/src/converters.pyx"
-  if (__pyx_t_3) {
+  if (__pyx_t_4) {

     /* "root_numpy/src/converters.pyx":604
  *     # Variable-length array
@@ -12683,25 +12781,25 @@
  */

 #line 604 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 604, __pyx_L1_error)
+    __pyx_t_2 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 604, __pyx_L1_error)
+
+#line 604 "root_numpy/src/converters.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 604 "root_numpy/src/converters.pyx"
+    __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_v_arraydef); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 604, __pyx_L1_error)

 #line 604 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);

 #line 604 "root_numpy/src/converters.pyx"
-    __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_arraydef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 604, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 604 "root_numpy/src/converters.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 604, __pyx_L1_error)

 #line 604 "root_numpy/src/converters.pyx"
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 604 "root_numpy/src/converters.pyx"
-    __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 604, __pyx_L1_error)
-
-#line 604 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 604 "root_numpy/src/converters.pyx"
     __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_7);
@@ -12715,10 +12813,10 @@
  */

 #line 605 "root_numpy/src/converters.pyx"
-    __pyx_t_3 = ((__pyx_v_conv == NULL) != 0);
+    __pyx_t_4 = ((__pyx_v_conv == NULL) != 0);

 #line 605 "root_numpy/src/converters.pyx"
-    if (__pyx_t_3) {
+    if (__pyx_t_4) {

       /* "root_numpy/src/converters.pyx":607
  *         if conv == NULL:
@@ -12740,10 +12838,10 @@
  */

 #line 608 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = ((__pyx_v_basic_conv == NULL) != 0);
+      __pyx_t_4 = ((__pyx_v_basic_conv == NULL) != 0);

 #line 608 "root_numpy/src/converters.pyx"
-      if (__pyx_t_3) {
+      if (__pyx_t_4) {

         /* "root_numpy/src/converters.pyx":609
  *             basic_conv = find_converter_by_typename(typename)
@@ -12779,19 +12877,19 @@
  */

 #line 612 "root_numpy/src/converters.pyx"
-      __pyx_t_4 = PyTuple_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(1, 612, __pyx_L1_error)
+      __pyx_t_5 = PyTuple_GET_SIZE(__pyx_v_shape); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(1, 612, __pyx_L1_error)

 #line 612 "root_numpy/src/converters.pyx"
-      __pyx_t_2 = PyInt_FromSsize_t((__pyx_t_4 + 1)); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 612, __pyx_L1_error)
+      __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_5 + 1)); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 612, __pyx_L1_error)

 #line 612 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_GOTREF(__pyx_t_1);

 #line 612 "root_numpy/src/converters.pyx"
-      __pyx_v_ndim = __pyx_t_2;
+      __pyx_v_ndim = __pyx_t_1;

 #line 612 "root_numpy/src/converters.pyx"
-      __pyx_t_2 = 0;
+      __pyx_t_1 = 0;

       /* "root_numpy/src/converters.pyx":613
  *             # so add 1 here:
@@ -12802,25 +12900,25 @@
  */

 #line 613 "root_numpy/src/converters.pyx"
-      __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_13_librootnumpy_SIZE_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 613, __pyx_L1_error)
+      __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_13_librootnumpy_SIZE_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 613, __pyx_L1_error)
+
+#line 613 "root_numpy/src/converters.pyx"
+      __Pyx_GOTREF(__pyx_t_1);
+
+#line 613 "root_numpy/src/converters.pyx"
+      __pyx_t_2 = PyNumber_Multiply(__pyx_v_ndim, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 613, __pyx_L1_error)

 #line 613 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_2);

 #line 613 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = PyNumber_Multiply(__pyx_v_ndim, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 613, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 613 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
+      __pyx_t_8 = __Pyx_PyInt_As_size_t(__pyx_t_2); if (unlikely((__pyx_t_8 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 613, __pyx_L1_error)

 #line 613 "root_numpy/src/converters.pyx"
       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 613 "root_numpy/src/converters.pyx"
-      __pyx_t_8 = __Pyx_PyInt_As_size_t(__pyx_t_1); if (unlikely((__pyx_t_8 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 613, __pyx_L1_error)
-
-#line 613 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 613 "root_numpy/src/converters.pyx"
       __pyx_v_dims = ((__pyx_t_13_librootnumpy_SIZE_t *)malloc(__pyx_t_8));
@@ -12834,10 +12932,10 @@
  */

 #line 614 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = ((__pyx_v_dims == NULL) != 0);
+      __pyx_t_4 = ((__pyx_v_dims == NULL) != 0);

 #line 614 "root_numpy/src/converters.pyx"
-      if (unlikely(__pyx_t_3)) {
+      if (unlikely(__pyx_t_4)) {

         /* "root_numpy/src/converters.pyx":615
  *             dims = <SIZE_t*> malloc(ndim * sizeof(SIZE_t))
@@ -12848,13 +12946,22 @@
  */

 #line 615 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_13_librootnumpy_SIZE_t))); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 615, __pyx_L1_error)
+        __pyx_t_2 = __Pyx_PyInt_FromSize_t((sizeof(__pyx_t_13_librootnumpy_SIZE_t))); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 615, __pyx_L1_error)
+
+#line 615 "root_numpy/src/converters.pyx"
+        __Pyx_GOTREF(__pyx_t_2);
+
+#line 615 "root_numpy/src/converters.pyx"
+        __pyx_t_1 = PyNumber_Multiply(__pyx_v_ndim, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 615, __pyx_L1_error)

 #line 615 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_1);

 #line 615 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = PyNumber_Multiply(__pyx_v_ndim, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 615, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 615 "root_numpy/src/converters.pyx"
+        __pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_kp_s_could_not_allocate_d_bytes, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 615, __pyx_L1_error)

 #line 615 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_2);
@@ -12863,7 +12970,7 @@
         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 615 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyString_Format(__pyx_kp_s_could_not_allocate_d_bytes, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 615, __pyx_L1_error)
+        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 615, __pyx_L1_error)

 #line 615 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_1);
@@ -12872,19 +12979,10 @@
         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 615 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 615, __pyx_L1_error)
-
-#line 615 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_Raise(__pyx_t_1, 0, 0, 0);

 #line 615 "root_numpy/src/converters.pyx"
         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 615 "root_numpy/src/converters.pyx"
-        __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-
-#line 615 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 615 "root_numpy/src/converters.pyx"
         __PYX_ERR(1, 615, __pyx_L1_error)
@@ -12915,16 +13013,16 @@
       for (__pyx_t_10 = 1; __pyx_t_10 < __pyx_t_9; __pyx_t_10++) {

 #line 618 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 618, __pyx_L1_error)
+        __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 618, __pyx_L1_error)

 #line 618 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_1);

 #line 618 "root_numpy/src/converters.pyx"
-        __Pyx_XDECREF_SET(__pyx_v_idim, __pyx_t_2);
+        __Pyx_XDECREF_SET(__pyx_v_idim, __pyx_t_1);

 #line 618 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = 0;
+        __pyx_t_1 = 0;

         /* "root_numpy/src/converters.pyx":619
  *             # so dims[0] is set dynamically for each entry
@@ -12935,31 +13033,31 @@
  */

 #line 619 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_v_idim, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 619, __pyx_L1_error)
+        __pyx_t_1 = __Pyx_PyInt_SubtractObjC(__pyx_v_idim, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 619, __pyx_L1_error)
+
+#line 619 "root_numpy/src/converters.pyx"
+        __Pyx_GOTREF(__pyx_t_1);
+
+#line 619 "root_numpy/src/converters.pyx"
+        __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_shape, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 619, __pyx_L1_error)

 #line 619 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_2);

 #line 619 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyObject_GetItem(__pyx_v_shape, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 619, __pyx_L1_error)
+        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 619 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
+        __pyx_t_11 = __Pyx_PyInt_As_Py_intptr_t(__pyx_t_2); if (unlikely((__pyx_t_11 == ((npy_intp)-1)) && PyErr_Occurred())) __PYX_ERR(1, 619, __pyx_L1_error)

 #line 619 "root_numpy/src/converters.pyx"
         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 619 "root_numpy/src/converters.pyx"
-        __pyx_t_11 = __Pyx_PyInt_As_Py_intptr_t(__pyx_t_1); if (unlikely((__pyx_t_11 == ((npy_intp)-1)) && PyErr_Occurred())) __PYX_ERR(1, 619, __pyx_L1_error)
+        __pyx_t_5 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idim); if (unlikely((__pyx_t_5 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 619, __pyx_L1_error)

 #line 619 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 619 "root_numpy/src/converters.pyx"
-        __pyx_t_4 = __Pyx_PyIndex_AsSsize_t(__pyx_v_idim); if (unlikely((__pyx_t_4 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(1, 619, __pyx_L1_error)
-
-#line 619 "root_numpy/src/converters.pyx"
-        (__pyx_v_dims[__pyx_t_4]) = __pyx_t_11;
+        (__pyx_v_dims[__pyx_t_5]) = __pyx_t_11;

 #line 619 "root_numpy/src/converters.pyx"
         __pyx_t_10 = __Pyx_PyInt_As_long(__pyx_v_idim); if (unlikely((__pyx_t_10 == (long)-1) && PyErr_Occurred())) __PYX_ERR(1, 618, __pyx_L1_error)
@@ -12976,16 +13074,16 @@
  */

 #line 618 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 618, __pyx_L1_error)
+      __pyx_t_2 = __Pyx_PyInt_From_long(__pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 618, __pyx_L1_error)

 #line 618 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
+      __Pyx_GOTREF(__pyx_t_2);

 #line 618 "root_numpy/src/converters.pyx"
-      __Pyx_XDECREF_SET(__pyx_v_idim, __pyx_t_1);
+      __Pyx_XDECREF_SET(__pyx_v_idim, __pyx_t_2);

 #line 618 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = 0;
+      __pyx_t_2 = 0;

       /* "root_numpy/src/converters.pyx":621
  *                 dims[idim] = shape[idim - 1]
@@ -13018,25 +13116,25 @@
  */

 #line 622 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 622, __pyx_L1_error)
+      __pyx_t_2 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 622, __pyx_L1_error)
+
+#line 622 "root_numpy/src/converters.pyx"
+      __Pyx_GOTREF(__pyx_t_2);
+
+#line 622 "root_numpy/src/converters.pyx"
+      __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_v_arraydef); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 622, __pyx_L1_error)

 #line 622 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_1);

 #line 622 "root_numpy/src/converters.pyx"
-      __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_arraydef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 622, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 622 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+      __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 622, __pyx_L1_error)

 #line 622 "root_numpy/src/converters.pyx"
       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 622 "root_numpy/src/converters.pyx"
-      __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 622, __pyx_L1_error)
-
-#line 622 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 622 "root_numpy/src/converters.pyx"
       try {
@@ -13119,25 +13217,25 @@
  */

 #line 626 "root_numpy/src/converters.pyx"
-  __pyx_t_2 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 626, __pyx_L1_error)
+  __pyx_t_1 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 626, __pyx_L1_error)
+
+#line 626 "root_numpy/src/converters.pyx"
+  __Pyx_GOTREF(__pyx_t_1);
+
+#line 626 "root_numpy/src/converters.pyx"
+  __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_arraydef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 626, __pyx_L1_error)

 #line 626 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_2);

 #line 626 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_v_arraydef); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 626, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 626 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 626, __pyx_L1_error)

 #line 626 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 626 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 626, __pyx_L1_error)
-
-#line 626 "root_numpy/src/converters.pyx"
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 626 "root_numpy/src/converters.pyx"
   __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_7);
@@ -13151,10 +13249,10 @@
  */

 #line 627 "root_numpy/src/converters.pyx"
-  __pyx_t_3 = ((__pyx_v_conv == NULL) != 0);
+  __pyx_t_4 = ((__pyx_v_conv == NULL) != 0);

 #line 627 "root_numpy/src/converters.pyx"
-  if (__pyx_t_3) {
+  if (__pyx_t_4) {

     /* "root_numpy/src/converters.pyx":629
  *     if conv == NULL:
@@ -13176,10 +13274,10 @@
  */

 #line 630 "root_numpy/src/converters.pyx"
-    __pyx_t_3 = ((__pyx_v_basic_conv == NULL) != 0);
+    __pyx_t_4 = ((__pyx_v_basic_conv == NULL) != 0);

 #line 630 "root_numpy/src/converters.pyx"
-    if (__pyx_t_3) {
+    if (__pyx_t_4) {

       /* "root_numpy/src/converters.pyx":631
  *         basic_conv = find_converter_by_typename(typename)
@@ -13226,25 +13324,25 @@
  */

 #line 634 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 634, __pyx_L1_error)
+    __pyx_t_2 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_typename); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 634, __pyx_L1_error)
+
+#line 634 "root_numpy/src/converters.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 634 "root_numpy/src/converters.pyx"
+    __pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_v_arraydef); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 634, __pyx_L1_error)

 #line 634 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);

 #line 634 "root_numpy/src/converters.pyx"
-    __pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_arraydef); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 634, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 634 "root_numpy/src/converters.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 634, __pyx_L1_error)

 #line 634 "root_numpy/src/converters.pyx"
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 634 "root_numpy/src/converters.pyx"
-    __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 634, __pyx_L1_error)
-
-#line 634 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 634 "root_numpy/src/converters.pyx"
     try {
@@ -13331,7 +13429,7 @@
   __Pyx_XDECREF(__pyx_t_2);

 #line 595 "root_numpy/src/converters.pyx"
-  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_3);

 #line 595 "root_numpy/src/converters.pyx"
   __Pyx_WriteUnraisable("_librootnumpy.get_array_converter", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
@@ -13429,13 +13527,13 @@
   PyObject *__pyx_t_5 = NULL;

 #line 638 "root_numpy/src/converters.pyx"
-  PyObject *__pyx_t_6 = NULL;
+  std::string __pyx_t_6;

 #line 638 "root_numpy/src/converters.pyx"
-  std::string __pyx_t_7;
+  __pyx_t_13_librootnumpy_CONVERTERS_ITEM_TYPE __pyx_t_7;

 #line 638 "root_numpy/src/converters.pyx"
-  __pyx_t_13_librootnumpy_CONVERTERS_ITEM_TYPE __pyx_t_8;
+  PyObject *__pyx_t_8 = NULL;

 #line 638 "root_numpy/src/converters.pyx"
   int __pyx_t_9;
@@ -13593,109 +13691,19 @@
     }

 #line 653 "root_numpy/src/converters.pyx"
-    if (!__pyx_t_5) {
+    __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);

 #line 653 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 653, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 653 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 653 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 653, __pyx_L1_error)

 #line 653 "root_numpy/src/converters.pyx"
-    } else {
-
-#line 653 "root_numpy/src/converters.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 653 "root_numpy/src/converters.pyx"
-      if (PyFunction_Check(__pyx_t_3)) {
-
-#line 653 "root_numpy/src/converters.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
-
-#line 653 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 653, __pyx_L1_error)
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 653 "root_numpy/src/converters.pyx"
-      } else
-
-#line 653 "root_numpy/src/converters.pyx"
-      #endif
-
-#line 653 "root_numpy/src/converters.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 653 "root_numpy/src/converters.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
-
-#line 653 "root_numpy/src/converters.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
-
-#line 653 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 653, __pyx_L1_error)
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 653 "root_numpy/src/converters.pyx"
-      } else
-
-#line 653 "root_numpy/src/converters.pyx"
-      #endif
-
-#line 653 "root_numpy/src/converters.pyx"
-      {
-
-#line 653 "root_numpy/src/converters.pyx"
-        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 653, __pyx_L1_error)
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_GIVEREF(__pyx_t_4);
-
-#line 653 "root_numpy/src/converters.pyx"
-        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
-
-#line 653 "root_numpy/src/converters.pyx"
-        __pyx_t_4 = 0;
-
-#line 653 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 653, __pyx_L1_error)
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 653 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 653 "root_numpy/src/converters.pyx"
-      }
-
-#line 653 "root_numpy/src/converters.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_1);

 #line 653 "root_numpy/src/converters.pyx"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -13710,13 +13718,13 @@
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 653 "root_numpy/src/converters.pyx"
-    __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 653, __pyx_L1_error)
+    __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 653, __pyx_L1_error)

 #line 653 "root_numpy/src/converters.pyx"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 653 "root_numpy/src/converters.pyx"
-    __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_7);
+    __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_6);

     /* "root_numpy/src/converters.pyx":654
  *         leaf_length = leaf.GetLenStatic()
@@ -13758,28 +13766,28 @@
       __Pyx_GOTREF(__pyx_t_1);

 #line 656 "root_numpy/src/converters.pyx"
-      __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_leaf_length); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 656, __pyx_L1_error)
+      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_leaf_length); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 656, __pyx_L1_error)

 #line 656 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_4);

 #line 656 "root_numpy/src/converters.pyx"
-      __pyx_t_4 = NULL;
+      __pyx_t_5 = NULL;

 #line 656 "root_numpy/src/converters.pyx"
       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {

 #line 656 "root_numpy/src/converters.pyx"
-        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
+        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);

 #line 656 "root_numpy/src/converters.pyx"
-        if (likely(__pyx_t_4)) {
+        if (likely(__pyx_t_5)) {

 #line 656 "root_numpy/src/converters.pyx"
           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);

 #line 656 "root_numpy/src/converters.pyx"
-          __Pyx_INCREF(__pyx_t_4);
+          __Pyx_INCREF(__pyx_t_5);

 #line 656 "root_numpy/src/converters.pyx"
           __Pyx_INCREF(function);
@@ -13794,151 +13802,61 @@
       }

 #line 656 "root_numpy/src/converters.pyx"
-      if (!__pyx_t_4) {
+      __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_4);

 #line 656 "root_numpy/src/converters.pyx"
-        __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 656, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 656 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 656 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
+      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 656, __pyx_L1_error)

 #line 656 "root_numpy/src/converters.pyx"
-      } else {
+      __Pyx_GOTREF(__pyx_t_3);

 #line 656 "root_numpy/src/converters.pyx"
-        #if CYTHON_FAST_PYCALL
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 656 "root_numpy/src/converters.pyx"
-        if (PyFunction_Check(__pyx_t_1)) {
+      __pyx_t_1 = PyNumber_Add(__pyx_v_leaf_type, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 656, __pyx_L1_error)

 #line 656 "root_numpy/src/converters.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_6};
+      __Pyx_GOTREF(__pyx_t_1);

 #line 656 "root_numpy/src/converters.pyx"
-          __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 656, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 656 "root_numpy/src/converters.pyx"
-          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+      __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 656, __pyx_L1_error)

 #line 656 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 656 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      try {

 #line 656 "root_numpy/src/converters.pyx"
-        } else
+        __pyx_t_7 = __pyx_t_13_librootnumpy_CONVERTERS_ITEM_TYPE(__pyx_t_6, __pyx_v_conv);

 #line 656 "root_numpy/src/converters.pyx"
-        #endif
+      } catch(...) {

 #line 656 "root_numpy/src/converters.pyx"
-        #if CYTHON_FAST_PYCCALL
+        __Pyx_CppExn2PyErr();

 #line 656 "root_numpy/src/converters.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
-
-#line 656 "root_numpy/src/converters.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_6};
-
-#line 656 "root_numpy/src/converters.pyx"
-          __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 656, __pyx_L1_error)
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_3);
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 656 "root_numpy/src/converters.pyx"
-        } else
-
-#line 656 "root_numpy/src/converters.pyx"
-        #endif
-
-#line 656 "root_numpy/src/converters.pyx"
-        {
-
-#line 656 "root_numpy/src/converters.pyx"
-          __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 656, __pyx_L1_error)
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_5);
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_GIVEREF(__pyx_t_6);
-
-#line 656 "root_numpy/src/converters.pyx"
-          PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_6);
-
-#line 656 "root_numpy/src/converters.pyx"
-          __pyx_t_6 = 0;
-
-#line 656 "root_numpy/src/converters.pyx"
-          __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 656, __pyx_L1_error)
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_3);
-
-#line 656 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 656 "root_numpy/src/converters.pyx"
-        }
+        __PYX_ERR(1, 656, __pyx_L1_error)

 #line 656 "root_numpy/src/converters.pyx"
       }

 #line 656 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      try {

 #line 656 "root_numpy/src/converters.pyx"
-      __pyx_t_1 = PyNumber_Add(__pyx_v_leaf_type, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 656, __pyx_L1_error)
-
-#line 656 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
-
-#line 656 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 656 "root_numpy/src/converters.pyx"
-      __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 656, __pyx_L1_error)
-
-#line 656 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 656 "root_numpy/src/converters.pyx"
-      try {
-
-#line 656 "root_numpy/src/converters.pyx"
-        __pyx_t_8 = __pyx_t_13_librootnumpy_CONVERTERS_ITEM_TYPE(__pyx_t_7, __pyx_v_conv);
-
-#line 656 "root_numpy/src/converters.pyx"
-      } catch(...) {
-
-#line 656 "root_numpy/src/converters.pyx"
-        __Pyx_CppExn2PyErr();
-
-#line 656 "root_numpy/src/converters.pyx"
-        __PYX_ERR(1, 656, __pyx_L1_error)
-
-#line 656 "root_numpy/src/converters.pyx"
-      }
-
-#line 656 "root_numpy/src/converters.pyx"
-      try {
-
-#line 656 "root_numpy/src/converters.pyx"
-        __pyx_v_13_librootnumpy_CONVERTERS.insert(__pyx_t_8);
+        __pyx_v_13_librootnumpy_CONVERTERS.insert(__pyx_t_7);

 #line 656 "root_numpy/src/converters.pyx"
       } catch(...) {
@@ -13997,58 +13915,58 @@
  */

 #line 659 "root_numpy/src/converters.pyx"
-  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 659, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 659, __pyx_L1_error)

 #line 659 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_3);

 #line 659 "root_numpy/src/converters.pyx"
-  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_match); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 659, __pyx_L1_error)
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_match); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 659, __pyx_L1_error)
+
+#line 659 "root_numpy/src/converters.pyx"
+  __Pyx_GOTREF(__pyx_t_4);
+
+#line 659 "root_numpy/src/converters.pyx"
+  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+
+#line 659 "root_numpy/src/converters.pyx"
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_LEAF_PATTERN); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 659, __pyx_L1_error)
+
+#line 659 "root_numpy/src/converters.pyx"
+  __Pyx_GOTREF(__pyx_t_3);
+
+#line 659 "root_numpy/src/converters.pyx"
+  __pyx_t_5 = __Pyx_PyStr_FromString(__pyx_v_leaf_title); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 659, __pyx_L1_error)

 #line 659 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_5);

 #line 659 "root_numpy/src/converters.pyx"
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 659 "root_numpy/src/converters.pyx"
-  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LEAF_PATTERN); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 659, __pyx_L1_error)
-
-#line 659 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_t_3);
-
-#line 659 "root_numpy/src/converters.pyx"
-  __pyx_t_6 = __Pyx_PyStr_FromString(__pyx_v_leaf_title); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 659, __pyx_L1_error)
-
-#line 659 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_t_6);
-
-#line 659 "root_numpy/src/converters.pyx"
-  __pyx_t_4 = NULL;
+  __pyx_t_8 = NULL;

 #line 659 "root_numpy/src/converters.pyx"
   __pyx_t_9 = 0;

 #line 659 "root_numpy/src/converters.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {

 #line 659 "root_numpy/src/converters.pyx"
-    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);

 #line 659 "root_numpy/src/converters.pyx"
-    if (likely(__pyx_t_4)) {
+    if (likely(__pyx_t_8)) {

 #line 659 "root_numpy/src/converters.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);

 #line 659 "root_numpy/src/converters.pyx"
-      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_8);

 #line 659 "root_numpy/src/converters.pyx"
       __Pyx_INCREF(function);

 #line 659 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF_SET(__pyx_t_5, function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);

 #line 659 "root_numpy/src/converters.pyx"
       __pyx_t_9 = 1;
@@ -14063,16 +13981,16 @@
   #if CYTHON_FAST_PYCALL

 #line 659 "root_numpy/src/converters.pyx"
-  if (PyFunction_Check(__pyx_t_5)) {
+  if (PyFunction_Check(__pyx_t_4)) {

 #line 659 "root_numpy/src/converters.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_6};
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_3, __pyx_t_5};

 #line 659 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 659, __pyx_L1_error)
+    __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 659, __pyx_L1_error)

 #line 659 "root_numpy/src/converters.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 659 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -14081,7 +13999,7 @@
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 659 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 659 "root_numpy/src/converters.pyx"
   } else
@@ -14093,16 +14011,16 @@
   #if CYTHON_FAST_PYCCALL

 #line 659 "root_numpy/src/converters.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {

 #line 659 "root_numpy/src/converters.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_t_6};
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_3, __pyx_t_5};

 #line 659 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 659, __pyx_L1_error)
+    __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 659, __pyx_L1_error)

 #line 659 "root_numpy/src/converters.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 659 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -14111,7 +14029,7 @@
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 659 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 659 "root_numpy/src/converters.pyx"
   } else
@@ -14129,10 +14047,10 @@
     __Pyx_GOTREF(__pyx_t_10);

 #line 659 "root_numpy/src/converters.pyx"
-    if (__pyx_t_4) {
+    if (__pyx_t_8) {

 #line 659 "root_numpy/src/converters.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4); __pyx_t_4 = NULL;
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;

 #line 659 "root_numpy/src/converters.pyx"
     }
@@ -14144,19 +14062,19 @@
     PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_t_3);

 #line 659 "root_numpy/src/converters.pyx"
-    __Pyx_GIVEREF(__pyx_t_6);
+    __Pyx_GIVEREF(__pyx_t_5);

 #line 659 "root_numpy/src/converters.pyx"
-    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_6);
+    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_t_5);

 #line 659 "root_numpy/src/converters.pyx"
     __pyx_t_3 = 0;

 #line 659 "root_numpy/src/converters.pyx"
-    __pyx_t_6 = 0;
+    __pyx_t_5 = 0;

 #line 659 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 659, __pyx_L1_error)
+    __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 659, __pyx_L1_error)

 #line 659 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -14168,7 +14086,7 @@
   }

 #line 659 "root_numpy/src/converters.pyx"
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 659 "root_numpy/src/converters.pyx"
   __pyx_v_match = __pyx_t_1;
@@ -14202,25 +14120,61 @@
  */

 #line 661 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 661, __pyx_L1_error)
+    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_match, __pyx_n_s_group); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 661, __pyx_L1_error)
+
+#line 661 "root_numpy/src/converters.pyx"
+    __Pyx_GOTREF(__pyx_t_4);
+
+#line 661 "root_numpy/src/converters.pyx"
+    __pyx_t_10 = NULL;
+
+#line 661 "root_numpy/src/converters.pyx"
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+
+#line 661 "root_numpy/src/converters.pyx"
+      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
+
+#line 661 "root_numpy/src/converters.pyx"
+      if (likely(__pyx_t_10)) {
+
+#line 661 "root_numpy/src/converters.pyx"
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+
+#line 661 "root_numpy/src/converters.pyx"
+        __Pyx_INCREF(__pyx_t_10);
+
+#line 661 "root_numpy/src/converters.pyx"
+        __Pyx_INCREF(function);
+
+#line 661 "root_numpy/src/converters.pyx"
+        __Pyx_DECREF_SET(__pyx_t_4, function);
+
+#line 661 "root_numpy/src/converters.pyx"
+      }
+
+#line 661 "root_numpy/src/converters.pyx"
+    }
+
+#line 661 "root_numpy/src/converters.pyx"
+    __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_int_1) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_int_1);
+
+#line 661 "root_numpy/src/converters.pyx"
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 661 "root_numpy/src/converters.pyx"
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 661, __pyx_L1_error)

 #line 661 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);

 #line 661 "root_numpy/src/converters.pyx"
-    __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 661, __pyx_L1_error)
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 661 "root_numpy/src/converters.pyx"
-    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_v_arraydef = __pyx_t_1;

 #line 661 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 661 "root_numpy/src/converters.pyx"
-    __pyx_v_arraydef = __pyx_t_5;
-
-#line 661 "root_numpy/src/converters.pyx"
-    __pyx_t_5 = 0;
+    __pyx_t_1 = 0;

     /* "root_numpy/src/converters.pyx":662
  *     if match is not None:
@@ -14262,37 +14216,73 @@
  */

 #line 665 "root_numpy/src/converters.pyx"
-        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_arraydef, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 665, __pyx_L1_error)
+        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_arraydef, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 665, __pyx_L1_error)

 #line 665 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_GOTREF(__pyx_t_4);

 #line 665 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)
+        __pyx_t_10 = NULL;
+
+#line 665 "root_numpy/src/converters.pyx"
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+
+#line 665 "root_numpy/src/converters.pyx"
+          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_4);
+
+#line 665 "root_numpy/src/converters.pyx"
+          if (likely(__pyx_t_10)) {
+
+#line 665 "root_numpy/src/converters.pyx"
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+
+#line 665 "root_numpy/src/converters.pyx"
+            __Pyx_INCREF(__pyx_t_10);
+
+#line 665 "root_numpy/src/converters.pyx"
+            __Pyx_INCREF(function);
+
+#line 665 "root_numpy/src/converters.pyx"
+            __Pyx_DECREF_SET(__pyx_t_4, function);
+
+#line 665 "root_numpy/src/converters.pyx"
+          }
+
+#line 665 "root_numpy/src/converters.pyx"
+        }
+
+#line 665 "root_numpy/src/converters.pyx"
+        __pyx_t_1 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_10, __pyx_kp_s__8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_s__8);
+
+#line 665 "root_numpy/src/converters.pyx"
+        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 665 "root_numpy/src/converters.pyx"
+        if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)

 #line 665 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_1);

 #line 665 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 665 "root_numpy/src/converters.pyx"
-        __pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_arraydef, 0, 0, &__pyx_t_1, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(1, 665, __pyx_L1_error)
+        __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_arraydef, 0, 0, &__pyx_t_1, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 665, __pyx_L1_error)

 #line 665 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_GOTREF(__pyx_t_4);

 #line 665 "root_numpy/src/converters.pyx"
         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 665 "root_numpy/src/converters.pyx"
-        __pyx_t_1 = PyNumber_Add(__pyx_kp_s__11, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)
+        __pyx_t_1 = PyNumber_Add(__pyx_kp_s__7, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 665, __pyx_L1_error)

 #line 665 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_1);

 #line 665 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 665 "root_numpy/src/converters.pyx"
         __Pyx_DECREF_SET(__pyx_v_arraydef, __pyx_t_1);
@@ -14320,10 +14310,10 @@
  */

 #line 666 "root_numpy/src/converters.pyx"
-      __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_v_leaf_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 666, __pyx_L1_error)
+      __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_leaf_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 666, __pyx_L1_error)

 #line 666 "root_numpy/src/converters.pyx"
-      __pyx_r = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_7, __pyx_v_arraydef);
+      __pyx_r = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_6, __pyx_v_arraydef);

 #line 666 "root_numpy/src/converters.pyx"
       goto __pyx_L0;
@@ -14359,10 +14349,10 @@
  */

 #line 667 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_v_leaf_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 667, __pyx_L1_error)
+  __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_leaf_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(1, 667, __pyx_L1_error)

 #line 667 "root_numpy/src/converters.pyx"
-  __pyx_r = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_7);
+  __pyx_r = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_6);

 #line 667 "root_numpy/src/converters.pyx"
   goto __pyx_L0;
@@ -14397,7 +14387,7 @@
   __Pyx_XDECREF(__pyx_t_5);

 #line 638 "root_numpy/src/converters.pyx"
-  __Pyx_XDECREF(__pyx_t_6);
+  __Pyx_XDECREF(__pyx_t_8);

 #line 638 "root_numpy/src/converters.pyx"
   __Pyx_XDECREF(__pyx_t_10);
@@ -15014,40 +15004,97 @@
  */

 #line 714 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_d, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 714, __pyx_L1_error)
+      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_d, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 714, __pyx_L1_error)
+
+#line 714 "root_numpy/src/converters.pyx"
+      __Pyx_GOTREF(__pyx_t_8);
+
+#line 714 "root_numpy/src/converters.pyx"
+      __pyx_t_9 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_dims[__pyx_v_axis])); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 714, __pyx_L1_error)
+
+#line 714 "root_numpy/src/converters.pyx"
+      __Pyx_GOTREF(__pyx_t_9);
+
+#line 714 "root_numpy/src/converters.pyx"
+      __pyx_t_10 = NULL;
+
+#line 714 "root_numpy/src/converters.pyx"
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+
+#line 714 "root_numpy/src/converters.pyx"
+        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);
+
+#line 714 "root_numpy/src/converters.pyx"
+        if (likely(__pyx_t_10)) {
+
+#line 714 "root_numpy/src/converters.pyx"
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 714 "root_numpy/src/converters.pyx"
+          __Pyx_INCREF(__pyx_t_10);
+
+#line 714 "root_numpy/src/converters.pyx"
+          __Pyx_INCREF(function);
+
+#line 714 "root_numpy/src/converters.pyx"
+          __Pyx_DECREF_SET(__pyx_t_8, function);
+
+#line 714 "root_numpy/src/converters.pyx"
+        }
+
+#line 714 "root_numpy/src/converters.pyx"
+      }
+
+#line 714 "root_numpy/src/converters.pyx"
+      __pyx_t_3 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);
+
+#line 714 "root_numpy/src/converters.pyx"
+      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 714 "root_numpy/src/converters.pyx"
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 714 "root_numpy/src/converters.pyx"
+      if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 714, __pyx_L1_error)

 #line 714 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_3);

 #line 714 "root_numpy/src/converters.pyx"
-      __pyx_t_8 = __Pyx_PyInt_From_Py_intptr_t((__pyx_v_dims[__pyx_v_axis])); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 714, __pyx_L1_error)
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 714 "root_numpy/src/converters.pyx"
+      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_encode); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 714, __pyx_L1_error)

 #line 714 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_8);

 #line 714 "root_numpy/src/converters.pyx"
-      __pyx_t_9 = NULL;
+      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 714 "root_numpy/src/converters.pyx"
-      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+      __pyx_t_3 = NULL;

 #line 714 "root_numpy/src/converters.pyx"
-        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 714 "root_numpy/src/converters.pyx"
-        if (likely(__pyx_t_9)) {
+        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);

 #line 714 "root_numpy/src/converters.pyx"
-          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+        if (likely(__pyx_t_3)) {

 #line 714 "root_numpy/src/converters.pyx"
-          __Pyx_INCREF(__pyx_t_9);
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 714 "root_numpy/src/converters.pyx"
+          __Pyx_INCREF(__pyx_t_3);

 #line 714 "root_numpy/src/converters.pyx"
           __Pyx_INCREF(function);

 #line 714 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF_SET(__pyx_t_3, function);
+          __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 714 "root_numpy/src/converters.pyx"
         }
@@ -15056,130 +15103,19 @@
       }

 #line 714 "root_numpy/src/converters.pyx"
-      if (!__pyx_t_9) {
+      __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_3, __pyx_kp_s_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_kp_s_utf_8);

 #line 714 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 714, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 714 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 714 "root_numpy/src/converters.pyx"
-      } else {
-
-#line 714 "root_numpy/src/converters.pyx"
-        #if CYTHON_FAST_PYCALL
-
-#line 714 "root_numpy/src/converters.pyx"
-        if (PyFunction_Check(__pyx_t_3)) {
-
-#line 714 "root_numpy/src/converters.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_8};
-
-#line 714 "root_numpy/src/converters.pyx"
-          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 714, __pyx_L1_error)
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-        } else
-
-#line 714 "root_numpy/src/converters.pyx"
-        #endif
-
-#line 714 "root_numpy/src/converters.pyx"
-        #if CYTHON_FAST_PYCCALL
-
-#line 714 "root_numpy/src/converters.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
-
-#line 714 "root_numpy/src/converters.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_8};
-
-#line 714 "root_numpy/src/converters.pyx"
-          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 714, __pyx_L1_error)
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-        } else
-
-#line 714 "root_numpy/src/converters.pyx"
-        #endif
-
-#line 714 "root_numpy/src/converters.pyx"
-        {
-
-#line 714 "root_numpy/src/converters.pyx"
-          __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 714, __pyx_L1_error)
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_10);
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_GIVEREF(__pyx_t_8);
-
-#line 714 "root_numpy/src/converters.pyx"
-          PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_8);
-
-#line 714 "root_numpy/src/converters.pyx"
-          __pyx_t_8 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 714, __pyx_L1_error)
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
-
-#line 714 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-        }
-
-#line 714 "root_numpy/src/converters.pyx"
-      }
-
-#line 714 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 714, __pyx_L1_error)
-
-#line 714 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 714 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 714 "root_numpy/src/converters.pyx"
-      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 714, __pyx_L1_error)
+      if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 714, __pyx_L1_error)

 #line 714 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_2);

 #line 714 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 714 "root_numpy/src/converters.pyx"
       __Pyx_XDECREF_SET(__pyx_v_token, __pyx_t_2);
@@ -15331,10 +15267,10 @@
  */

 #line 726 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_field_0_of_type_1_is_not_compati, __pyx_n_s_format); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 726, __pyx_L1_error)
+      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_field_0_of_type_1_is_not_compati, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 726, __pyx_L1_error)

 #line 726 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_GOTREF(__pyx_t_8);

       /* "root_numpy/src/converters.pyx":727
  *                     "field '{0}' of type '{1}' is not compatible "
@@ -15345,58 +15281,58 @@
  */

 #line 727 "root_numpy/src/converters.pyx"
-      __pyx_t_10 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 727, __pyx_L1_error)
+      __pyx_t_3 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 727, __pyx_L1_error)
+
+#line 727 "root_numpy/src/converters.pyx"
+      __Pyx_GOTREF(__pyx_t_3);
+
+#line 727 "root_numpy/src/converters.pyx"
+      __pyx_t_9 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_leaflist); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 727, __pyx_L1_error)
+
+#line 727 "root_numpy/src/converters.pyx"
+      __Pyx_GOTREF(__pyx_t_9);
+
+#line 727 "root_numpy/src/converters.pyx"
+      __pyx_t_10 = __Pyx_PyStr_FromString(this->branch->GetTitle()); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 727, __pyx_L1_error)

 #line 727 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_10);

 #line 727 "root_numpy/src/converters.pyx"
-      __pyx_t_8 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_leaflist); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 727, __pyx_L1_error)
-
-#line 727 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_8);
-
-#line 727 "root_numpy/src/converters.pyx"
-      __pyx_t_9 = __Pyx_PyStr_FromString(this->branch->GetTitle()); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 727, __pyx_L1_error)
-
-#line 727 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_9);
-
-#line 727 "root_numpy/src/converters.pyx"
-      __pyx_t_13 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 727, __pyx_L1_error)
+      __pyx_t_13 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(1, 727, __pyx_L1_error)

 #line 727 "root_numpy/src/converters.pyx"
       __Pyx_GOTREF(__pyx_t_13);

 #line 727 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 727 "root_numpy/src/converters.pyx"
-      __pyx_t_9 = NULL;
+      __pyx_t_10 = NULL;

 #line 727 "root_numpy/src/converters.pyx"
       __pyx_t_5 = 0;

 #line 727 "root_numpy/src/converters.pyx"
-      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 727 "root_numpy/src/converters.pyx"
-        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
+        __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8);

 #line 727 "root_numpy/src/converters.pyx"
-        if (likely(__pyx_t_9)) {
+        if (likely(__pyx_t_10)) {

 #line 727 "root_numpy/src/converters.pyx"
-          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 727 "root_numpy/src/converters.pyx"
-          __Pyx_INCREF(__pyx_t_9);
+          __Pyx_INCREF(__pyx_t_10);

 #line 727 "root_numpy/src/converters.pyx"
           __Pyx_INCREF(function);

 #line 727 "root_numpy/src/converters.pyx"
-          __Pyx_DECREF_SET(__pyx_t_3, function);
+          __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 727 "root_numpy/src/converters.pyx"
           __pyx_t_5 = 1;
@@ -15411,25 +15347,25 @@
       #if CYTHON_FAST_PYCALL

 #line 727 "root_numpy/src/converters.pyx"
-      if (PyFunction_Check(__pyx_t_3)) {
+      if (PyFunction_Check(__pyx_t_8)) {

 #line 727 "root_numpy/src/converters.pyx"
-        PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_10, __pyx_t_8, __pyx_t_13};
+        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_3, __pyx_t_9, __pyx_t_13};

 #line 727 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 726, __pyx_L1_error)
+        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 726, __pyx_L1_error)

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 727 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_2);

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 727 "root_numpy/src/converters.pyx"
         __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
@@ -15444,25 +15380,25 @@
       #if CYTHON_FAST_PYCCALL

 #line 727 "root_numpy/src/converters.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
+      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {

 #line 727 "root_numpy/src/converters.pyx"
-        PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_10, __pyx_t_8, __pyx_t_13};
+        PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_t_3, __pyx_t_9, __pyx_t_13};

 #line 727 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 726, __pyx_L1_error)
+        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 726, __pyx_L1_error)

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 727 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_2);

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 727 "root_numpy/src/converters.pyx"
         __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
@@ -15483,25 +15419,25 @@
         __Pyx_GOTREF(__pyx_t_14);

 #line 727 "root_numpy/src/converters.pyx"
-        if (__pyx_t_9) {
+        if (__pyx_t_10) {

 #line 727 "root_numpy/src/converters.pyx"
-          __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_9); __pyx_t_9 = NULL;
+          __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_10); __pyx_t_10 = NULL;

 #line 727 "root_numpy/src/converters.pyx"
         }

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_GIVEREF(__pyx_t_10);
+        __Pyx_GIVEREF(__pyx_t_3);

 #line 727 "root_numpy/src/converters.pyx"
-        PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_5, __pyx_t_10);
+        PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_5, __pyx_t_3);

 #line 727 "root_numpy/src/converters.pyx"
-        __Pyx_GIVEREF(__pyx_t_8);
+        __Pyx_GIVEREF(__pyx_t_9);

 #line 727 "root_numpy/src/converters.pyx"
-        PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_5, __pyx_t_8);
+        PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_5, __pyx_t_9);

 #line 727 "root_numpy/src/converters.pyx"
         __Pyx_GIVEREF(__pyx_t_13);
@@ -15510,16 +15446,16 @@
         PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_5, __pyx_t_13);

 #line 727 "root_numpy/src/converters.pyx"
-        __pyx_t_10 = 0;
+        __pyx_t_3 = 0;

 #line 727 "root_numpy/src/converters.pyx"
-        __pyx_t_8 = 0;
+        __pyx_t_9 = 0;

 #line 727 "root_numpy/src/converters.pyx"
         __pyx_t_13 = 0;

 #line 727 "root_numpy/src/converters.pyx"
-        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 726, __pyx_L1_error)
+        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 726, __pyx_L1_error)

 #line 727 "root_numpy/src/converters.pyx"
         __Pyx_GOTREF(__pyx_t_2);
@@ -15531,7 +15467,7 @@
       }

 #line 727 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

       /* "root_numpy/src/converters.pyx":724
  *             # check type compatibility of existing branch
@@ -15542,19 +15478,19 @@
  */

 #line 724 "root_numpy/src/converters.pyx"
-      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(1, 724, __pyx_L1_error)
+      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 724, __pyx_L1_error)

 #line 724 "root_numpy/src/converters.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
+      __Pyx_GOTREF(__pyx_t_8);

 #line 724 "root_numpy/src/converters.pyx"
       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 724 "root_numpy/src/converters.pyx"
-      __Pyx_Raise(__pyx_t_3, 0, 0, 0);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);

 #line 724 "root_numpy/src/converters.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 724 "root_numpy/src/converters.pyx"
       __PYX_ERR(1, 724, __pyx_L1_error)
@@ -16269,7 +16205,7 @@
  */

 #line 758 "root_numpy/src/converters.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_TYPES_NUMPY2ROOT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 758, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_TYPES_NUMPY2ROOT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 758, __pyx_L1_error)

 #line 758 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -16295,7 +16231,7 @@
  */

 #line 759 "root_numpy/src/converters.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_TYPES_NUMPY2ROOT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 759, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_TYPES_NUMPY2ROOT); if (unlikely(!__pyx_t_4)) __PYX_ERR(1, 759, __pyx_L1_error)

 #line 759 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -16670,7 +16606,7 @@
 static PyObject *__pyx_f_13_librootnumpy_list_objects_recursive(TDirectory *__pyx_v_rdir, PyObject *__pyx_v_objects, std::vector<TClass *>  &__pyx_v_classes, struct __pyx_opt_args_13_librootnumpy_list_objects_recursive *__pyx_optional_args) {

 #line 4 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_v_path = ((PyObject *)__pyx_kp_s__15);
+  PyObject *__pyx_v_path = ((PyObject *)__pyx_kp_s__9);
   TList *__pyx_v_keys
 #line 4 "root_numpy/src/tree.pyx"
 ;
@@ -16721,7 +16657,7 @@
   PyObject *__pyx_t_4 = NULL;

 #line 4 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_5 = NULL;
+  int __pyx_t_5;

 #line 4 "root_numpy/src/tree.pyx"
   int __pyx_t_6;
@@ -16730,19 +16666,16 @@
   int __pyx_t_7;

 #line 4 "root_numpy/src/tree.pyx"
-  int __pyx_t_8;
+  const char *__pyx_t_8;

 #line 4 "root_numpy/src/tree.pyx"
-  const char *__pyx_t_9;
+  int __pyx_t_9;

 #line 4 "root_numpy/src/tree.pyx"
-  int __pyx_t_10;
+  Py_ssize_t __pyx_t_10;

 #line 4 "root_numpy/src/tree.pyx"
-  Py_ssize_t __pyx_t_11;
-
-#line 4 "root_numpy/src/tree.pyx"
-  struct __pyx_opt_args_13_librootnumpy_list_objects_recursive __pyx_t_12;
+  struct __pyx_opt_args_13_librootnumpy_list_objects_recursive __pyx_t_11;

 #line 4 "root_numpy/src/tree.pyx"
   __Pyx_RefNannySetupContext("list_objects_recursive", 0);
@@ -16832,100 +16765,16 @@
     }

 #line 7 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_4) {
+    __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_path) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path);

 #line 7 "root_numpy/src/tree.pyx"
-      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 7 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)

 #line 7 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 7 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 7 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_3)) {
-
-#line 7 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_path};
-
-#line 7 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 7 "root_numpy/src/tree.pyx"
-      } else
-
-#line 7 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 7 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 7 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
-
-#line 7 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_path};
-
-#line 7 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 7 "root_numpy/src/tree.pyx"
-      } else
-
-#line 7 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 7 "root_numpy/src/tree.pyx"
-      {
-
-#line 7 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 7, __pyx_L1_error)
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_v_path);
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_v_path);
-
-#line 7 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_path);
-
-#line 7 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 7, __pyx_L1_error)
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 7 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 7 "root_numpy/src/tree.pyx"
-      }
-
-#line 7 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_2);

 #line 7 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -17019,16 +16868,16 @@
  */

 #line 14 "root_numpy/src/tree.pyx"
-  __pyx_t_6 = __pyx_v_nkeys;
+  __pyx_t_5 = __pyx_v_nkeys;

 #line 14 "root_numpy/src/tree.pyx"
-  __pyx_t_7 = __pyx_t_6;
+  __pyx_t_6 = __pyx_t_5;

 #line 14 "root_numpy/src/tree.pyx"
-  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {
+  for (__pyx_t_7 = 0; __pyx_t_7 < __pyx_t_6; __pyx_t_7+=1) {

 #line 14 "root_numpy/src/tree.pyx"
-    __pyx_v_i = __pyx_t_8;
+    __pyx_v_i = __pyx_t_7;

     /* "root_numpy/src/tree.pyx":15
  *     directories = list()
@@ -17093,10 +16942,10 @@
  */

 #line 18 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_clsname); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 18, __pyx_L1_error)
+      __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_clsname); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 18, __pyx_L1_error)

 #line 18 "root_numpy/src/tree.pyx"
-      __pyx_v_tclass = TClass::GetClass(__pyx_t_9, 1, 1);
+      __pyx_v_tclass = TClass::GetClass(__pyx_t_8, 1, 1);

       /* "root_numpy/src/tree.pyx":19
  *         if not classes.empty():
@@ -17187,7 +17036,7 @@
             __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 23 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = PySet_Add(__pyx_v_unique_objects, __pyx_t_2); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 23, __pyx_L1_error)
+            __pyx_t_9 = PySet_Add(__pyx_v_unique_objects, __pyx_t_2); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 23, __pyx_L1_error)

 #line 23 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -17292,7 +17141,7 @@
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 27 "root_numpy/src/tree.pyx"
-      __pyx_t_10 = PySet_Add(__pyx_v_unique_objects, __pyx_t_2); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 27, __pyx_L1_error)
+      __pyx_t_9 = PySet_Add(__pyx_v_unique_objects, __pyx_t_2); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 27, __pyx_L1_error)

 #line 27 "root_numpy/src/tree.pyx"
       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -17341,7 +17190,7 @@
       __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 29 "root_numpy/src/tree.pyx"
-      __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_directories, __pyx_t_3); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 29, __pyx_L1_error)
+      __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_directories, __pyx_t_3); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 29, __pyx_L1_error)

 #line 29 "root_numpy/src/tree.pyx"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -17375,22 +17224,22 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 30 "root_numpy/src/tree.pyx"
-  __pyx_t_5 = NULL;
+  __pyx_t_4 = NULL;

 #line 30 "root_numpy/src/tree.pyx"
   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {

 #line 30 "root_numpy/src/tree.pyx"
-    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);

 #line 30 "root_numpy/src/tree.pyx"
-    if (likely(__pyx_t_5)) {
+    if (likely(__pyx_t_4)) {

 #line 30 "root_numpy/src/tree.pyx"
       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 30 "root_numpy/src/tree.pyx"
-      __Pyx_INCREF(__pyx_t_5);
+      __Pyx_INCREF(__pyx_t_4);

 #line 30 "root_numpy/src/tree.pyx"
       __Pyx_INCREF(function);
@@ -17405,100 +17254,16 @@
   }

 #line 30 "root_numpy/src/tree.pyx"
-  if (!__pyx_t_5) {
+  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_v_unique_objects) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_unique_objects);

 #line 30 "root_numpy/src/tree.pyx"
-    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_unique_objects); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 30, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 30 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 30, __pyx_L1_error)

 #line 30 "root_numpy/src/tree.pyx"
-  } else {
-
-#line 30 "root_numpy/src/tree.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 30 "root_numpy/src/tree.pyx"
-    if (PyFunction_Check(__pyx_t_2)) {
-
-#line 30 "root_numpy/src/tree.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_unique_objects};
-
-#line 30 "root_numpy/src/tree.pyx"
-      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 30, __pyx_L1_error)
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 30 "root_numpy/src/tree.pyx"
-    } else
-
-#line 30 "root_numpy/src/tree.pyx"
-    #endif
-
-#line 30 "root_numpy/src/tree.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 30 "root_numpy/src/tree.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 30 "root_numpy/src/tree.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_v_unique_objects};
-
-#line 30 "root_numpy/src/tree.pyx"
-      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 30, __pyx_L1_error)
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 30 "root_numpy/src/tree.pyx"
-    } else
-
-#line 30 "root_numpy/src/tree.pyx"
-    #endif
-
-#line 30 "root_numpy/src/tree.pyx"
-    {
-
-#line 30 "root_numpy/src/tree.pyx"
-      __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 30, __pyx_L1_error)
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_4);
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_INCREF(__pyx_v_unique_objects);
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_GIVEREF(__pyx_v_unique_objects);
-
-#line 30 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_v_unique_objects);
-
-#line 30 "root_numpy/src/tree.pyx"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 30, __pyx_L1_error)
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 30 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 30 "root_numpy/src/tree.pyx"
-    }
-
-#line 30 "root_numpy/src/tree.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_3);

 #line 30 "root_numpy/src/tree.pyx"
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -17515,25 +17280,25 @@
  */

 #line 32 "root_numpy/src/tree.pyx"
-  __pyx_t_3 = __pyx_v_directories; __Pyx_INCREF(__pyx_t_3); __pyx_t_11 = 0;
+  __pyx_t_3 = __pyx_v_directories; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0;

 #line 32 "root_numpy/src/tree.pyx"
   for (;;) {

 #line 32 "root_numpy/src/tree.pyx"
-    if (__pyx_t_11 >= PyList_GET_SIZE(__pyx_t_3)) break;
+    if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break;

 #line 32 "root_numpy/src/tree.pyx"
     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 32 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_11); __Pyx_INCREF(__pyx_t_2); __pyx_t_11++; if (unlikely(0 < 0)) __PYX_ERR(2, 32, __pyx_L1_error)
+    __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_2); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(2, 32, __pyx_L1_error)

 #line 32 "root_numpy/src/tree.pyx"
     #else

 #line 32 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_11); __pyx_t_11++; if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 32, __pyx_L1_error)
+    __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 32, __pyx_L1_error)

 #line 32 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_2);
@@ -17556,7 +17321,7 @@
  */

 #line 34 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = __Pyx_PyObject_AsString(__pyx_v_dirname); if (unlikely((!__pyx_t_9) && PyErr_Occurred())) __PYX_ERR(2, 34, __pyx_L1_error)
+    __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_dirname); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 34, __pyx_L1_error)

     /* "root_numpy/src/tree.pyx":36
  *         list_objects_recursive(<TDirectory*> rdir.Get(dirname),
@@ -17573,7 +17338,7 @@
     __Pyx_GOTREF(__pyx_t_2);

 #line 36 "root_numpy/src/tree.pyx"
-    __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__16); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 36, __pyx_L1_error)
+    __pyx_t_4 = PyNumber_Add(__pyx_t_2, __pyx_kp_s__10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 36, __pyx_L1_error)

 #line 36 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -17590,13 +17355,13 @@
  */

 #line 34 "root_numpy/src/tree.pyx"
-    __pyx_t_12.__pyx_n = 1;
+    __pyx_t_11.__pyx_n = 1;

 #line 34 "root_numpy/src/tree.pyx"
-    __pyx_t_12.path = __pyx_t_4;
+    __pyx_t_11.path = __pyx_t_4;

 #line 34 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __pyx_f_13_librootnumpy_list_objects_recursive(((TDirectory *)__pyx_v_rdir->Get(__pyx_t_9)), __pyx_v_objects, __pyx_v_classes, &__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 34, __pyx_L1_error)
+    __pyx_t_2 = __pyx_f_13_librootnumpy_list_objects_recursive(((TDirectory *)__pyx_v_rdir->Get(__pyx_t_8)), __pyx_v_objects, __pyx_v_classes, &__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_2);
@@ -17654,9 +17419,6 @@
   __Pyx_XDECREF(__pyx_t_4);

 #line 4 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_5);
-
-#line 4 "root_numpy/src/tree.pyx"
   __Pyx_AddTraceback("_librootnumpy.list_objects_recursive", __pyx_clineno, __pyx_lineno, __pyx_filename);

 #line 4 "root_numpy/src/tree.pyx"
@@ -17707,7 +17469,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_3list_objects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_3list_objects =
 #line 39 "root_numpy/src/tree.pyx"
-{"list_objects", (PyCFunction)__pyx_pw_13_librootnumpy_3list_objects, METH_VARARGS|METH_KEYWORDS, 0};
+{"list_objects", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_3list_objects, METH_VARARGS|METH_KEYWORDS, 0};

 #line 39 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_3list_objects(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -17950,9 +17712,6 @@
   PyObject *__pyx_t_9 = NULL;

 #line 39 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_10 = NULL;
-
-#line 39 "root_numpy/src/tree.pyx"
   __Pyx_RefNannySetupContext("list_objects", 0);

   /* "root_numpy/src/tree.pyx":43
@@ -18176,100 +17935,16 @@
         }

 #line 47 "root_numpy/src/tree.pyx"
-        if (!__pyx_t_9) {
+        __pyx_t_6 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_v_clsname) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_clsname);

 #line 47 "root_numpy/src/tree.pyx"
-          __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_clsname); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 47, __pyx_L1_error)
+        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 47 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_6);
+        if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 47, __pyx_L1_error)

 #line 47 "root_numpy/src/tree.pyx"
-        } else {
-
-#line 47 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCALL
-
-#line 47 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_8)) {
-
-#line 47 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_clsname};
-
-#line 47 "root_numpy/src/tree.pyx"
-            __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 47, __pyx_L1_error)
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_6);
-
-#line 47 "root_numpy/src/tree.pyx"
-          } else
-
-#line 47 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 47 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCCALL
-
-#line 47 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 47 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_v_clsname};
-
-#line 47 "root_numpy/src/tree.pyx"
-            __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 47, __pyx_L1_error)
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_6);
-
-#line 47 "root_numpy/src/tree.pyx"
-          } else
-
-#line 47 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 47 "root_numpy/src/tree.pyx"
-          {
-
-#line 47 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 47, __pyx_L1_error)
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_10);
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_INCREF(__pyx_v_clsname);
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_v_clsname);
-
-#line 47 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_clsname);
-
-#line 47 "root_numpy/src/tree.pyx"
-            __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 47, __pyx_L1_error)
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_6);
-
-#line 47 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 47 "root_numpy/src/tree.pyx"
-          }
-
-#line 47 "root_numpy/src/tree.pyx"
-        }
+        __Pyx_GOTREF(__pyx_t_6);

 #line 47 "root_numpy/src/tree.pyx"
         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -18427,100 +18102,16 @@
     }

 #line 51 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_6) {
+    __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_6, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_fname);

 #line 51 "root_numpy/src/tree.pyx"
-      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_fname); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 51, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 51 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 51, __pyx_L1_error)

 #line 51 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 51 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 51 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_8)) {
-
-#line 51 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_fname};
-
-#line 51 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 51, __pyx_L1_error)
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 51 "root_numpy/src/tree.pyx"
-      } else
-
-#line 51 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 51 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 51 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 51 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_fname};
-
-#line 51 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 51, __pyx_L1_error)
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 51 "root_numpy/src/tree.pyx"
-      } else
-
-#line 51 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 51 "root_numpy/src/tree.pyx"
-      {
-
-#line 51 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 51, __pyx_L1_error)
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_6); __pyx_t_6 = NULL;
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_v_fname);
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_v_fname);
-
-#line 51 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_fname);
-
-#line 51 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 51, __pyx_L1_error)
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 51 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 51 "root_numpy/src/tree.pyx"
-      }
-
-#line 51 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_3);

 #line 51 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -18663,9 +18254,6 @@
   __Pyx_XDECREF(__pyx_t_9);

 #line 39 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_10);
-
-#line 39 "root_numpy/src/tree.pyx"
   __Pyx_AddTraceback("_librootnumpy.list_objects", __pyx_clineno, __pyx_lineno, __pyx_filename);

 #line 39 "root_numpy/src/tree.pyx"
@@ -18781,7 +18369,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 60 "root_numpy/src/tree.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_list_objects); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 60, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_objects); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 60, __pyx_L1_error)

 #line 60 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -18991,7 +18579,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 64 "root_numpy/src/tree.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_list_objects); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 64, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_objects); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 64, __pyx_L1_error)

 #line 64 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -19130,7 +18718,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_9list_structures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_9list_structures =
 #line 67 "root_numpy/src/tree.pyx"
-{"list_structures", (PyCFunction)__pyx_pw_13_librootnumpy_9list_structures, METH_VARARGS|METH_KEYWORDS, 0};
+{"list_structures", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_9list_structures, METH_VARARGS|METH_KEYWORDS, 0};

 #line 67 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_9list_structures(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -19352,19 +18940,16 @@
   PyObject *__pyx_t_4 = NULL;

 #line 67 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_5 = NULL;
+  Py_ssize_t __pyx_t_5;

 #line 67 "root_numpy/src/tree.pyx"
-  Py_ssize_t __pyx_t_6;
+  PyObject *__pyx_t_6 = NULL;

 #line 67 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_7 = NULL;
+  const char *__pyx_t_7;

 #line 67 "root_numpy/src/tree.pyx"
-  const char *__pyx_t_8;
-
-#line 67 "root_numpy/src/tree.pyx"
-  int __pyx_t_9;
+  int __pyx_t_8;

 #line 67 "root_numpy/src/tree.pyx"
   __Pyx_RefNannySetupContext("list_structures", 0);
@@ -19401,7 +18986,7 @@
  */

 #line 70 "root_numpy/src/tree.pyx"
-    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_list_trees); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 70, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_list_trees); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 70, __pyx_L1_error)

 #line 70 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_3);
@@ -19437,100 +19022,16 @@
     }

 #line 70 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_4) {
+    __pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname);

 #line 70 "root_numpy/src/tree.pyx"
-      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_fname); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 70, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 70 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 70, __pyx_L1_error)

 #line 70 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 70 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 70 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_3)) {
-
-#line 70 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_fname};
-
-#line 70 "root_numpy/src/tree.pyx"
-        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 70, __pyx_L1_error)
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 70 "root_numpy/src/tree.pyx"
-      } else
-
-#line 70 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 70 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 70 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
-
-#line 70 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_fname};
-
-#line 70 "root_numpy/src/tree.pyx"
-        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 70, __pyx_L1_error)
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 70 "root_numpy/src/tree.pyx"
-      } else
-
-#line 70 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 70 "root_numpy/src/tree.pyx"
-      {
-
-#line 70 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 70, __pyx_L1_error)
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_v_fname);
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_v_fname);
-
-#line 70 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_fname);
-
-#line 70 "root_numpy/src/tree.pyx"
-        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 70, __pyx_L1_error)
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 70 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 70 "root_numpy/src/tree.pyx"
-      }
-
-#line 70 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_1);

 #line 70 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -19550,10 +19051,10 @@
  */

 #line 71 "root_numpy/src/tree.pyx"
-    __pyx_t_6 = PyObject_Length(__pyx_v_tree); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(2, 71, __pyx_L1_error)
+    __pyx_t_5 = PyObject_Length(__pyx_v_tree); if (unlikely(__pyx_t_5 == ((Py_ssize_t)-1))) __PYX_ERR(2, 71, __pyx_L1_error)

 #line 71 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = ((__pyx_t_6 != 1) != 0);
+    __pyx_t_2 = ((__pyx_t_5 != 1) != 0);

 #line 71 "root_numpy/src/tree.pyx"
     if (unlikely(__pyx_t_2)) {
@@ -19573,28 +19074,28 @@
       __Pyx_GOTREF(__pyx_t_3);

 #line 72 "root_numpy/src/tree.pyx"
-      __pyx_t_5 = __Pyx_PyString_Join(__pyx_kp_s__17, __pyx_v_tree); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 72, __pyx_L1_error)
+      __pyx_t_4 = __Pyx_PyString_Join(__pyx_kp_s__11, __pyx_v_tree); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 72, __pyx_L1_error)

 #line 72 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_4);

 #line 72 "root_numpy/src/tree.pyx"
-      __pyx_t_4 = NULL;
+      __pyx_t_6 = NULL;

 #line 72 "root_numpy/src/tree.pyx"
       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {

 #line 72 "root_numpy/src/tree.pyx"
-        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
+        __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);

 #line 72 "root_numpy/src/tree.pyx"
-        if (likely(__pyx_t_4)) {
+        if (likely(__pyx_t_6)) {

 #line 72 "root_numpy/src/tree.pyx"
           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);

 #line 72 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_4);
+          __Pyx_INCREF(__pyx_t_6);

 #line 72 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(function);
@@ -19609,109 +19110,19 @@
       }

 #line 72 "root_numpy/src/tree.pyx"
-      if (!__pyx_t_4) {
+      __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);

 #line 72 "root_numpy/src/tree.pyx"
-        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 72, __pyx_L1_error)
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 72 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 72 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
+      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 72, __pyx_L1_error)

 #line 72 "root_numpy/src/tree.pyx"
-      } else {
-
-#line 72 "root_numpy/src/tree.pyx"
-        #if CYTHON_FAST_PYCALL
-
-#line 72 "root_numpy/src/tree.pyx"
-        if (PyFunction_Check(__pyx_t_3)) {
-
-#line 72 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
-
-#line 72 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 72, __pyx_L1_error)
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_1);
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 72 "root_numpy/src/tree.pyx"
-        } else
-
-#line 72 "root_numpy/src/tree.pyx"
-        #endif
-
-#line 72 "root_numpy/src/tree.pyx"
-        #if CYTHON_FAST_PYCCALL
-
-#line 72 "root_numpy/src/tree.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
-
-#line 72 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_5};
-
-#line 72 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 72, __pyx_L1_error)
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_1);
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 72 "root_numpy/src/tree.pyx"
-        } else
-
-#line 72 "root_numpy/src/tree.pyx"
-        #endif
-
-#line 72 "root_numpy/src/tree.pyx"
-        {
-
-#line 72 "root_numpy/src/tree.pyx"
-          __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 72, __pyx_L1_error)
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_7);
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_5);
-
-#line 72 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_t_5);
-
-#line 72 "root_numpy/src/tree.pyx"
-          __pyx_t_5 = 0;
-
-#line 72 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 72, __pyx_L1_error)
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_1);
-
-#line 72 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 72 "root_numpy/src/tree.pyx"
-        }
-
-#line 72 "root_numpy/src/tree.pyx"
-      }
+      __Pyx_GOTREF(__pyx_t_1);

 #line 72 "root_numpy/src/tree.pyx"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -19785,10 +19196,10 @@
  */

 #line 74 "root_numpy/src/tree.pyx"
-  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_fname); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 74, __pyx_L1_error)
+  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_fname); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 74, __pyx_L1_error)

 #line 74 "root_numpy/src/tree.pyx"
-  __pyx_v_rfile = TFile::Open(__pyx_t_8, ((const char *)"read"));
+  __pyx_v_rfile = TFile::Open(__pyx_t_7, ((const char *)"read"));

   /* "root_numpy/src/tree.pyx":75
  *         tree = tree[0]
@@ -19819,22 +19230,22 @@
     __Pyx_GOTREF(__pyx_t_1);

 #line 76 "root_numpy/src/tree.pyx"
-    __pyx_t_7 = NULL;
+    __pyx_t_4 = NULL;

 #line 76 "root_numpy/src/tree.pyx"
     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {

 #line 76 "root_numpy/src/tree.pyx"
-      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);

 #line 76 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_7)) {
+      if (likely(__pyx_t_4)) {

 #line 76 "root_numpy/src/tree.pyx"
         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);

 #line 76 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_4);

 #line 76 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);
@@ -19849,100 +19260,16 @@
     }

 #line 76 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_7) {
+    __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_4, __pyx_v_fname) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fname);

 #line 76 "root_numpy/src/tree.pyx"
-      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_fname); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 76, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 76 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 76, __pyx_L1_error)

 #line 76 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 76 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 76 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_1)) {
-
-#line 76 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_fname};
-
-#line 76 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 76, __pyx_L1_error)
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 76 "root_numpy/src/tree.pyx"
-      } else
-
-#line 76 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 76 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 76 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
-
-#line 76 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_fname};
-
-#line 76 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 76, __pyx_L1_error)
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 76 "root_numpy/src/tree.pyx"
-      } else
-
-#line 76 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 76 "root_numpy/src/tree.pyx"
-      {
-
-#line 76 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 76, __pyx_L1_error)
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_v_fname);
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_v_fname);
-
-#line 76 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_fname);
-
-#line 76 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 76, __pyx_L1_error)
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 76 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 76 "root_numpy/src/tree.pyx"
-      }
-
-#line 76 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_3);

 #line 76 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -19985,10 +19312,10 @@
  */

 #line 77 "root_numpy/src/tree.pyx"
-  __pyx_t_8 = __Pyx_PyObject_AsString(__pyx_v_tree); if (unlikely((!__pyx_t_8) && PyErr_Occurred())) __PYX_ERR(2, 77, __pyx_L1_error)
+  __pyx_t_7 = __Pyx_PyObject_AsString(__pyx_v_tree); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(2, 77, __pyx_L1_error)

 #line 77 "root_numpy/src/tree.pyx"
-  __pyx_v_rtree = ((TTree *)__pyx_v_rfile->Get(__pyx_t_8));
+  __pyx_v_rtree = ((TTree *)__pyx_v_rfile->Get(__pyx_t_7));

   /* "root_numpy/src/tree.pyx":78
  *         raise IOError("cannot read {0}".format(fname))
@@ -20019,25 +19346,25 @@
     __Pyx_GOTREF(__pyx_t_3);

 #line 79 "root_numpy/src/tree.pyx"
-    __pyx_t_5 = NULL;
+    __pyx_t_4 = NULL;

 #line 79 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = 0;
+    __pyx_t_8 = 0;

 #line 79 "root_numpy/src/tree.pyx"
     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {

 #line 79 "root_numpy/src/tree.pyx"
-      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
+      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);

 #line 79 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_5)) {
+      if (likely(__pyx_t_4)) {

 #line 79 "root_numpy/src/tree.pyx"
         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);

 #line 79 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_5);
+        __Pyx_INCREF(__pyx_t_4);

 #line 79 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);
@@ -20046,7 +19373,7 @@
         __Pyx_DECREF_SET(__pyx_t_3, function);

 #line 79 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = 1;
+        __pyx_t_8 = 1;

 #line 79 "root_numpy/src/tree.pyx"
       }
@@ -20061,13 +19388,13 @@
     if (PyFunction_Check(__pyx_t_3)) {

 #line 79 "root_numpy/src/tree.pyx"
-      PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_tree, __pyx_v_fname};
+      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_tree, __pyx_v_fname};

 #line 79 "root_numpy/src/tree.pyx"
-      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 79, __pyx_L1_error)
+      __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 79, __pyx_L1_error)

 #line 79 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 79 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_1);
@@ -20085,13 +19412,13 @@
     if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {

 #line 79 "root_numpy/src/tree.pyx"
-      PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_tree, __pyx_v_fname};
+      PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_tree, __pyx_v_fname};

 #line 79 "root_numpy/src/tree.pyx"
-      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 79, __pyx_L1_error)
+      __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 79, __pyx_L1_error)

 #line 79 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 79 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_1);
@@ -20106,16 +19433,16 @@
     {

 #line 79 "root_numpy/src/tree.pyx"
-      __pyx_t_7 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 79, __pyx_L1_error)
+      __pyx_t_6 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 79, __pyx_L1_error)

 #line 79 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_7);
+      __Pyx_GOTREF(__pyx_t_6);

 #line 79 "root_numpy/src/tree.pyx"
-      if (__pyx_t_5) {
+      if (__pyx_t_4) {

 #line 79 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
+        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;

 #line 79 "root_numpy/src/tree.pyx"
       }
@@ -20127,7 +19454,7 @@
       __Pyx_GIVEREF(__pyx_v_tree);

 #line 79 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_9, __pyx_v_tree);
+      PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_8, __pyx_v_tree);

 #line 79 "root_numpy/src/tree.pyx"
       __Pyx_INCREF(__pyx_v_fname);
@@ -20136,16 +19463,16 @@
       __Pyx_GIVEREF(__pyx_v_fname);

 #line 79 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_9, __pyx_v_fname);
+      PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_8, __pyx_v_fname);

 #line 79 "root_numpy/src/tree.pyx"
-      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 79, __pyx_L1_error)
+      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 79, __pyx_L1_error)

 #line 79 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_1);

 #line 79 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 79 "root_numpy/src/tree.pyx"
     }
@@ -20271,10 +19598,7 @@
   __Pyx_XDECREF(__pyx_t_4);

 #line 67 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_5);
-
-#line 67 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_6);

 #line 67 "root_numpy/src/tree.pyx"
   __Pyx_AddTraceback("_librootnumpy.list_structures", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -20321,7 +19645,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_11list_branches(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_11list_branches =
 #line 86 "root_numpy/src/tree.pyx"
-{"list_branches", (PyCFunction)__pyx_pw_13_librootnumpy_11list_branches, METH_VARARGS|METH_KEYWORDS, 0};
+{"list_branches", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_11list_branches, METH_VARARGS|METH_KEYWORDS, 0};

 #line 86 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_11list_branches(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -20554,7 +19878,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 87 "root_numpy/src/tree.pyx"
-  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_list_structures); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 87, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_list_structures); if (unlikely(!__pyx_t_3)) __PYX_ERR(2, 87, __pyx_L1_error)

 #line 87 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_3);
@@ -20734,22 +20058,13 @@
   }

 #line 87 "root_numpy/src/tree.pyx"
-  if (__pyx_t_2) {
+  __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);

 #line 87 "root_numpy/src/tree.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 87, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 87 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 87 "root_numpy/src/tree.pyx"
-  } else {
-
-#line 87 "root_numpy/src/tree.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 87, __pyx_L1_error)
-
-#line 87 "root_numpy/src/tree.pyx"
-  }
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 87, __pyx_L1_error)

 #line 87 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -20876,7 +20191,7 @@
   PyObject *__pyx_t_5 = NULL;

 #line 90 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_6 = NULL;
+  int __pyx_t_6;

 #line 90 "root_numpy/src/tree.pyx"
   int __pyx_t_7;
@@ -20889,9 +20204,6 @@

 #line 90 "root_numpy/src/tree.pyx"
   int __pyx_t_10;
-
-#line 90 "root_numpy/src/tree.pyx"
-  int __pyx_t_11;

 #line 90 "root_numpy/src/tree.pyx"
   __Pyx_RefNannySetupContext("get_branch_structure", 0);
@@ -20972,109 +20284,19 @@
     }

 #line 96 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_5) {
+    __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4);

 #line 96 "root_numpy/src/tree.pyx"
-      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 96, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 96 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 96 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+    if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 96, __pyx_L1_error)

 #line 96 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 96 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 96 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_3)) {
-
-#line 96 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
-
-#line 96 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 96, __pyx_L1_error)
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 96 "root_numpy/src/tree.pyx"
-      } else
-
-#line 96 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 96 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 96 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
-
-#line 96 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_4};
-
-#line 96 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 96, __pyx_L1_error)
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 96 "root_numpy/src/tree.pyx"
-      } else
-
-#line 96 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 96 "root_numpy/src/tree.pyx"
-      {
-
-#line 96 "root_numpy/src/tree.pyx"
-        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 96, __pyx_L1_error)
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_5); __pyx_t_5 = NULL;
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_4);
-
-#line 96 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_t_4);
-
-#line 96 "root_numpy/src/tree.pyx"
-        __pyx_t_4 = 0;
-
-#line 96 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 96, __pyx_L1_error)
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 96 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 96 "root_numpy/src/tree.pyx"
-      }
-
-#line 96 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_2);

 #line 96 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -21137,16 +20359,16 @@
  */

 #line 98 "root_numpy/src/tree.pyx"
-  __pyx_t_7 = __pyx_v_leaves->GetEntries();
+  __pyx_t_6 = __pyx_v_leaves->GetEntries();

 #line 98 "root_numpy/src/tree.pyx"
-  __pyx_t_8 = __pyx_t_7;
+  __pyx_t_7 = __pyx_t_6;

 #line 98 "root_numpy/src/tree.pyx"
-  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
+  for (__pyx_t_8 = 0; __pyx_t_8 < __pyx_t_7; __pyx_t_8+=1) {

 #line 98 "root_numpy/src/tree.pyx"
-    __pyx_v_ileaf = __pyx_t_9;
+    __pyx_v_ileaf = __pyx_t_8;

     /* "root_numpy/src/tree.pyx":99
  *     leaflist = []
@@ -21180,22 +20402,22 @@
     __Pyx_GOTREF(__pyx_t_2);

 #line 100 "root_numpy/src/tree.pyx"
-    __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 100, __pyx_L1_error)
+    __pyx_t_4 = PyTuple_New(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 100, __pyx_L1_error)

 #line 100 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GOTREF(__pyx_t_4);

 #line 100 "root_numpy/src/tree.pyx"
     __Pyx_GIVEREF(__pyx_t_3);

 #line 100 "root_numpy/src/tree.pyx"
-    PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
+    PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3);

 #line 100 "root_numpy/src/tree.pyx"
     __Pyx_GIVEREF(__pyx_t_2);

 #line 100 "root_numpy/src/tree.pyx"
-    PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_2);
+    PyTuple_SET_ITEM(__pyx_t_4, 1, __pyx_t_2);

 #line 100 "root_numpy/src/tree.pyx"
     __pyx_t_3 = 0;
@@ -21204,10 +20426,10 @@
     __pyx_t_2 = 0;

 #line 100 "root_numpy/src/tree.pyx"
-    __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_leaflist, __pyx_t_6); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(2, 100, __pyx_L1_error)
+    __pyx_t_9 = __Pyx_PyList_Append(__pyx_v_leaflist, __pyx_t_4); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(2, 100, __pyx_L1_error)

 #line 100 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 100 "root_numpy/src/tree.pyx"
   }
@@ -21224,10 +20446,10 @@
   __pyx_t_1 = (PyList_GET_SIZE(__pyx_v_leaflist) != 0);

 #line 101 "root_numpy/src/tree.pyx"
-  __pyx_t_11 = ((!__pyx_t_1) != 0);
+  __pyx_t_10 = ((!__pyx_t_1) != 0);

 #line 101 "root_numpy/src/tree.pyx"
-  if (unlikely(__pyx_t_11)) {
+  if (unlikely(__pyx_t_10)) {

     /* "root_numpy/src/tree.pyx":103
  *     if not leaflist:
@@ -21258,22 +20480,22 @@
     __Pyx_GOTREF(__pyx_t_3);

 #line 104 "root_numpy/src/tree.pyx"
-    __pyx_t_4 = NULL;
+    __pyx_t_5 = NULL;

 #line 104 "root_numpy/src/tree.pyx"
     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {

 #line 104 "root_numpy/src/tree.pyx"
-      __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
+      __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);

 #line 104 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_4)) {
+      if (likely(__pyx_t_5)) {

 #line 104 "root_numpy/src/tree.pyx"
         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 104 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_4);
+        __Pyx_INCREF(__pyx_t_5);

 #line 104 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);
@@ -21288,109 +20510,19 @@
     }

 #line 104 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_4) {
+    __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);

 #line 104 "root_numpy/src/tree.pyx"
-      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 103, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 104 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 104 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 103, __pyx_L1_error)

 #line 104 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 104 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 104 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_2)) {
-
-#line 104 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
-
-#line 104 "root_numpy/src/tree.pyx"
-        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 103, __pyx_L1_error)
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 104 "root_numpy/src/tree.pyx"
-      } else
-
-#line 104 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 104 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 104 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 104 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_t_3};
-
-#line 104 "root_numpy/src/tree.pyx"
-        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 103, __pyx_L1_error)
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 104 "root_numpy/src/tree.pyx"
-      } else
-
-#line 104 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 104 "root_numpy/src/tree.pyx"
-      {
-
-#line 104 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 103, __pyx_L1_error)
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_3);
-
-#line 104 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_t_3);
-
-#line 104 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = 0;
-
-#line 104 "root_numpy/src/tree.pyx"
-        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 103, __pyx_L1_error)
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 104 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 104 "root_numpy/src/tree.pyx"
-      }
-
-#line 104 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_4);

 #line 104 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -21404,13 +20536,13 @@
  */

 #line 102 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 102, __pyx_L1_error)
+    __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_RuntimeError, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 102, __pyx_L1_error)

 #line 102 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_2);

 #line 102 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 102 "root_numpy/src/tree.pyx"
     __Pyx_Raise(__pyx_t_2, 0, 0, 0);
@@ -21480,9 +20612,6 @@

 #line 90 "root_numpy/src/tree.pyx"
   __Pyx_XDECREF(__pyx_t_5);
-
-#line 90 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_6);

 #line 90 "root_numpy/src/tree.pyx"
   __Pyx_AddTraceback("_librootnumpy.get_branch_structure", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -21606,7 +20735,7 @@
  */

 #line 111 "root_numpy/src/tree.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_OrderedDict); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 111, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_OrderedDict); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 111, __pyx_L1_error)

 #line 111 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -21642,22 +20771,13 @@
   }

 #line 111 "root_numpy/src/tree.pyx"
-  if (__pyx_t_3) {
+  __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);

 #line 111 "root_numpy/src/tree.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 111, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 111 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 111 "root_numpy/src/tree.pyx"
-  } else {
-
-#line 111 "root_numpy/src/tree.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 111, __pyx_L1_error)
-
-#line 111 "root_numpy/src/tree.pyx"
-  }
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 111, __pyx_L1_error)

 #line 111 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -22218,10 +21338,10 @@
  */

 #line 131 "root_numpy/src/tree.pyx"
-  __Pyx_INCREF(__pyx_tuple__24);
+  __Pyx_INCREF(__pyx_tuple__18);

 #line 131 "root_numpy/src/tree.pyx"
-  __pyx_v_abbrevs = __pyx_tuple__24;
+  __pyx_v_abbrevs = __pyx_tuple__18;

   /* "root_numpy/src/tree.pyx":137
  *         (1<<10, 'kB'),
@@ -22718,7 +21838,7 @@
  */

 #line 149 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 149, __pyx_L1_error)
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 149, __pyx_L1_error)

 #line 149 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_2);
@@ -22743,6 +21863,74 @@
 #line 148 "root_numpy/src/tree.pyx"
     break;

+#line 148 "root_numpy/src/tree.pyx"
+    case -2L:
+
+    /* "root_numpy/src/tree.pyx":151
+ *         raise ValueError("chain is empty")
+ *     elif load == -2:
+ *         if ignore_index:             # <<<<<<<<<<<<<<
+ *             return
+ *         raise IndexError("tree index in chain is out of bounds")
+ */
+
+#line 151 "root_numpy/src/tree.pyx"
+    __pyx_t_1 = (__pyx_v_ignore_index != 0);
+
+#line 151 "root_numpy/src/tree.pyx"
+    if (__pyx_t_1) {
+
+      /* "root_numpy/src/tree.pyx":152
+ *     elif load == -2:
+ *         if ignore_index:
+ *             return             # <<<<<<<<<<<<<<
+ *         raise IndexError("tree index in chain is out of bounds")
+ *     elif load == -3:
+ */
+
+#line 152 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_r);
+
+#line 152 "root_numpy/src/tree.pyx"
+      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+
+#line 152 "root_numpy/src/tree.pyx"
+      goto __pyx_L0;
+
+      /* "root_numpy/src/tree.pyx":151
+ *         raise ValueError("chain is empty")
+ *     elif load == -2:
+ *         if ignore_index:             # <<<<<<<<<<<<<<
+ *             return
+ *         raise IndexError("tree index in chain is out of bounds")
+ */
+
+#line 151 "root_numpy/src/tree.pyx"
+    }
+
+    /* "root_numpy/src/tree.pyx":153
+ *         if ignore_index:
+ *             return
+ *         raise IndexError("tree index in chain is out of bounds")             # <<<<<<<<<<<<<<
+ *     elif load == -3:
+ *         raise IOError("cannot open current file")
+ */
+
+#line 153 "root_numpy/src/tree.pyx"
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 153, __pyx_L1_error)
+
+#line 153 "root_numpy/src/tree.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 153 "root_numpy/src/tree.pyx"
+    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
+
+#line 153 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 153 "root_numpy/src/tree.pyx"
+    __PYX_ERR(2, 153, __pyx_L1_error)
+
     /* "root_numpy/src/tree.pyx":150
  *     if load == -1:
  *         raise ValueError("chain is empty")
@@ -22752,83 +21940,33 @@
  */

 #line 150 "root_numpy/src/tree.pyx"
-    case -2L:
-
-    /* "root_numpy/src/tree.pyx":151
- *         raise ValueError("chain is empty")
- *     elif load == -2:
- *         if ignore_index:             # <<<<<<<<<<<<<<
- *             return
- *         raise IndexError("tree index in chain is out of bounds")
- */
-
-#line 151 "root_numpy/src/tree.pyx"
-    __pyx_t_1 = (__pyx_v_ignore_index != 0);
-
-#line 151 "root_numpy/src/tree.pyx"
-    if (__pyx_t_1) {
-
-      /* "root_numpy/src/tree.pyx":152
- *     elif load == -2:
- *         if ignore_index:
- *             return             # <<<<<<<<<<<<<<
+    break;
+
+#line 150 "root_numpy/src/tree.pyx"
+    case -3L:
+
+    /* "root_numpy/src/tree.pyx":155
  *         raise IndexError("tree index in chain is out of bounds")
  *     elif load == -3:
- */
-
-#line 152 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_r);
-
-#line 152 "root_numpy/src/tree.pyx"
-      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-
-#line 152 "root_numpy/src/tree.pyx"
-      goto __pyx_L0;
-
-      /* "root_numpy/src/tree.pyx":151
- *         raise ValueError("chain is empty")
- *     elif load == -2:
- *         if ignore_index:             # <<<<<<<<<<<<<<
- *             return
- *         raise IndexError("tree index in chain is out of bounds")
- */
-
-#line 151 "root_numpy/src/tree.pyx"
-    }
-
-    /* "root_numpy/src/tree.pyx":153
- *         if ignore_index:
- *             return
- *         raise IndexError("tree index in chain is out of bounds")             # <<<<<<<<<<<<<<
- *     elif load == -3:
- *         raise IOError("cannot open current file")
- */
-
-#line 153 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IndexError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 153, __pyx_L1_error)
-
-#line 153 "root_numpy/src/tree.pyx"
+ *         raise IOError("cannot open current file")             # <<<<<<<<<<<<<<
+ *     elif load == -4:
+ *         raise IOError("cannot access tree in current file")
+ */
+
+#line 155 "root_numpy/src/tree.pyx"
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__21, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 155, __pyx_L1_error)
+
+#line 155 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_2);

-#line 153 "root_numpy/src/tree.pyx"
+#line 155 "root_numpy/src/tree.pyx"
     __Pyx_Raise(__pyx_t_2, 0, 0, 0);

-#line 153 "root_numpy/src/tree.pyx"
+#line 155 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

-#line 153 "root_numpy/src/tree.pyx"
-    __PYX_ERR(2, 153, __pyx_L1_error)
-
-    /* "root_numpy/src/tree.pyx":150
- *     if load == -1:
- *         raise ValueError("chain is empty")
- *     elif load == -2:             # <<<<<<<<<<<<<<
- *         if ignore_index:
- *             return
- */
-
-#line 150 "root_numpy/src/tree.pyx"
-    break;
+#line 155 "root_numpy/src/tree.pyx"
+    __PYX_ERR(2, 155, __pyx_L1_error)

     /* "root_numpy/src/tree.pyx":154
  *             return
@@ -22839,41 +21977,33 @@
  */

 #line 154 "root_numpy/src/tree.pyx"
-    case -3L:
-
-    /* "root_numpy/src/tree.pyx":155
- *         raise IndexError("tree index in chain is out of bounds")
- *     elif load == -3:
- *         raise IOError("cannot open current file")             # <<<<<<<<<<<<<<
- *     elif load == -4:
- *         raise IOError("cannot access tree in current file")
- */
-
-#line 155 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__27, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 155, __pyx_L1_error)
-
-#line 155 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 155 "root_numpy/src/tree.pyx"
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-
-#line 155 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 155 "root_numpy/src/tree.pyx"
-    __PYX_ERR(2, 155, __pyx_L1_error)
-
-    /* "root_numpy/src/tree.pyx":154
- *             return
- *         raise IndexError("tree index in chain is out of bounds")
- *     elif load == -3:             # <<<<<<<<<<<<<<
+    break;
+
+#line 154 "root_numpy/src/tree.pyx"
+    case -4L:
+
+    /* "root_numpy/src/tree.pyx":157
  *         raise IOError("cannot open current file")
  *     elif load == -4:
- */
-
-#line 154 "root_numpy/src/tree.pyx"
-    break;
+ *         raise IOError("cannot access tree in current file")             # <<<<<<<<<<<<<<
+ *     raise RuntimeError("the chain is not initialized")
+ *
+ */
+
+#line 157 "root_numpy/src/tree.pyx"
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__22, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 157, __pyx_L1_error)
+
+#line 157 "root_numpy/src/tree.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 157 "root_numpy/src/tree.pyx"
+    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
+
+#line 157 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 157 "root_numpy/src/tree.pyx"
+    __PYX_ERR(2, 157, __pyx_L1_error)

     /* "root_numpy/src/tree.pyx":156
  *     elif load == -3:
@@ -22884,40 +22014,6 @@
  */

 #line 156 "root_numpy/src/tree.pyx"
-    case -4L:
-
-    /* "root_numpy/src/tree.pyx":157
- *         raise IOError("cannot open current file")
- *     elif load == -4:
- *         raise IOError("cannot access tree in current file")             # <<<<<<<<<<<<<<
- *     raise RuntimeError("the chain is not initialized")
- *
- */
-
-#line 157 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 157, __pyx_L1_error)
-
-#line 157 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 157 "root_numpy/src/tree.pyx"
-    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
-
-#line 157 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 157 "root_numpy/src/tree.pyx"
-    __PYX_ERR(2, 157, __pyx_L1_error)
-
-    /* "root_numpy/src/tree.pyx":156
- *     elif load == -3:
- *         raise IOError("cannot open current file")
- *     elif load == -4:             # <<<<<<<<<<<<<<
- *         raise IOError("cannot access tree in current file")
- *     raise RuntimeError("the chain is not initialized")
- */
-
-#line 156 "root_numpy/src/tree.pyx"
     break;

 #line 156 "root_numpy/src/tree.pyx"
@@ -22935,7 +22031,7 @@
  */

 #line 158 "root_numpy/src/tree.pyx"
-  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 158, __pyx_L1_error)
+  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 158, __pyx_L1_error)

 #line 158 "root_numpy/src/tree.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -23206,37 +22302,37 @@
   PyObject *__pyx_t_10 = NULL;

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_11 = NULL;
+  PyObject *(*__pyx_t_11)(PyObject *);

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *(*__pyx_t_12)(PyObject *);
+  Py_ssize_t __pyx_t_12;

 #line 165 "root_numpy/src/tree.pyx"
-  Py_ssize_t __pyx_t_13;
+  PyObject *__pyx_t_13 = NULL;

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_14 = NULL;
+  PyObject *(*__pyx_t_14)(PyObject *);

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *(*__pyx_t_15)(PyObject *);
+  int __pyx_t_15;

 #line 165 "root_numpy/src/tree.pyx"
-  int __pyx_t_16;
+  const char *__pyx_t_16;

 #line 165 "root_numpy/src/tree.pyx"
   const char *__pyx_t_17;

 #line 165 "root_numpy/src/tree.pyx"
-  const char *__pyx_t_18;
+  PyObject *(*__pyx_t_18)(PyObject *);

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *(*__pyx_t_19)(PyObject *);
+  std::string __pyx_t_19;

 #line 165 "root_numpy/src/tree.pyx"
-  std::string __pyx_t_20;
+  __pyx_t_13_librootnumpy_selector_map_item_type __pyx_t_20;

 #line 165 "root_numpy/src/tree.pyx"
-  __pyx_t_13_librootnumpy_selector_map_item_type __pyx_t_21;
+  int __pyx_t_21;

 #line 165 "root_numpy/src/tree.pyx"
   int __pyx_t_22;
@@ -23245,7 +22341,7 @@
   int __pyx_t_23;

 #line 165 "root_numpy/src/tree.pyx"
-  int __pyx_t_24;
+  PyObject *__pyx_t_24 = NULL;

 #line 165 "root_numpy/src/tree.pyx"
   PyObject *__pyx_t_25 = NULL;
@@ -23254,40 +22350,40 @@
   PyObject *__pyx_t_26 = NULL;

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_27 = NULL;
+  int __pyx_t_27;

 #line 165 "root_numpy/src/tree.pyx"
-  int __pyx_t_28;
+  PyObject *__pyx_t_28 = NULL;

 #line 165 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_29 = NULL;
+  int __pyx_t_29;

 #line 165 "root_numpy/src/tree.pyx"
-  int __pyx_t_30;
+  Selector *__pyx_t_30;

 #line 165 "root_numpy/src/tree.pyx"
-  Selector *__pyx_t_31;
+  int __pyx_t_31;

 #line 165 "root_numpy/src/tree.pyx"
   int __pyx_t_32;

 #line 165 "root_numpy/src/tree.pyx"
-  int __pyx_t_33;
+  __pyx_t_13_librootnumpy_Converter *__pyx_t_33;

 #line 165 "root_numpy/src/tree.pyx"
-  __pyx_t_13_librootnumpy_Converter *__pyx_t_34;
+  struct __pyx_opt_args_13_librootnumpy_get_converter __pyx_t_34;

 #line 165 "root_numpy/src/tree.pyx"
-  struct __pyx_opt_args_13_librootnumpy_get_converter __pyx_t_35;
+  int __pyx_t_35;

 #line 165 "root_numpy/src/tree.pyx"
-  int __pyx_t_36;
+  __pyx_t_13_librootnumpy_unsigned_int __pyx_t_36;

 #line 165 "root_numpy/src/tree.pyx"
-  __pyx_t_13_librootnumpy_unsigned_int __pyx_t_37;
+  std::string __pyx_t_37;

 #line 165 "root_numpy/src/tree.pyx"
-  std::string __pyx_t_38;
+  PyObject *__pyx_t_38 = NULL;

 #line 165 "root_numpy/src/tree.pyx"
   PyObject *__pyx_t_39 = NULL;
@@ -23360,7 +22456,7 @@
  */

 #line 172 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 172, __pyx_L1_error)
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__24, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 172, __pyx_L1_error)

 #line 172 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_2);
@@ -23450,7 +22546,7 @@
  */

 #line 178 "root_numpy/src/tree.pyx"
-      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 178, __pyx_L1_error)
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__25, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 178, __pyx_L1_error)

 #line 178 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_2);
@@ -23989,109 +23085,19 @@
         }

 #line 255 "root_numpy/src/tree.pyx"
-        if (!__pyx_t_10) {
+        __pyx_t_2 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);

 #line 255 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 255, __pyx_L9_error)
+        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 255 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 255 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
+        if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 255, __pyx_L9_error)

 #line 255 "root_numpy/src/tree.pyx"
-        } else {
-
-#line 255 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCALL
-
-#line 255 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_8)) {
-
-#line 255 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_9};
-
-#line 255 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 255, __pyx_L9_error)
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_2);
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 255 "root_numpy/src/tree.pyx"
-          } else
-
-#line 255 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 255 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCCALL
-
-#line 255 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 255 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_9};
-
-#line 255 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 255, __pyx_L9_error)
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_2);
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 255 "root_numpy/src/tree.pyx"
-          } else
-
-#line 255 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 255 "root_numpy/src/tree.pyx"
-          {
-
-#line 255 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyTuple_New(1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 255, __pyx_L9_error)
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_9);
-
-#line 255 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_11, 0+1, __pyx_t_9);
-
-#line 255 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = 0;
-
-#line 255 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 255, __pyx_L9_error)
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_2);
-
-#line 255 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 255 "root_numpy/src/tree.pyx"
-          }
-
-#line 255 "root_numpy/src/tree.pyx"
-        }
+        __Pyx_GOTREF(__pyx_t_2);

 #line 255 "root_numpy/src/tree.pyx"
         __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -24210,7 +23216,7 @@
         __pyx_t_2 = __pyx_v_branches; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;

 #line 262 "root_numpy/src/tree.pyx"
-        __pyx_t_12 = NULL;
+        __pyx_t_11 = NULL;

 #line 262 "root_numpy/src/tree.pyx"
       } else {
@@ -24222,7 +23228,7 @@
         __Pyx_GOTREF(__pyx_t_2);

 #line 262 "root_numpy/src/tree.pyx"
-        __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 262, __pyx_L9_error)
+        __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 262, __pyx_L9_error)

 #line 262 "root_numpy/src/tree.pyx"
       }
@@ -24231,7 +23237,7 @@
       for (;;) {

 #line 262 "root_numpy/src/tree.pyx"
-        if (likely(!__pyx_t_12)) {
+        if (likely(!__pyx_t_11)) {

 #line 262 "root_numpy/src/tree.pyx"
           if (likely(PyList_CheckExact(__pyx_t_2))) {
@@ -24243,16 +23249,16 @@
             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 262 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_11); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 262, __pyx_L9_error)
+            __pyx_t_9 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 262, __pyx_L9_error)

 #line 262 "root_numpy/src/tree.pyx"
             #else

 #line 262 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 262, __pyx_L9_error)
+            __pyx_t_9 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 262, __pyx_L9_error)

 #line 262 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 262 "root_numpy/src/tree.pyx"
             #endif
@@ -24267,16 +23273,16 @@
             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 262 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_11); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 262, __pyx_L9_error)
+            __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 262, __pyx_L9_error)

 #line 262 "root_numpy/src/tree.pyx"
             #else

 #line 262 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 262, __pyx_L9_error)
+            __pyx_t_9 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 262, __pyx_L9_error)

 #line 262 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 262 "root_numpy/src/tree.pyx"
             #endif
@@ -24288,10 +23294,10 @@
 {

 #line 262 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = __pyx_t_12(__pyx_t_2);
+          __pyx_t_9 = __pyx_t_11(__pyx_t_2);

 #line 262 "root_numpy/src/tree.pyx"
-          if (unlikely(!__pyx_t_11)) {
+          if (unlikely(!__pyx_t_9)) {

 #line 262 "root_numpy/src/tree.pyx"
             PyObject* exc_type = PyErr_Occurred();
@@ -24315,16 +23321,16 @@
           }

 #line 262 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 262 "root_numpy/src/tree.pyx"
         }

 #line 262 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF_SET(__pyx_v_branch_spec, __pyx_t_11);
+        __Pyx_DECREF_SET(__pyx_v_branch_spec, __pyx_t_9);

 #line 262 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = 0;
+        __pyx_t_9 = 0;

 #line 262 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(__pyx_t_8);
@@ -24333,19 +23339,19 @@
         __Pyx_XDECREF_SET(__pyx_v_idx, __pyx_t_8);

 #line 262 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyInt_AddObjC(__pyx_t_8, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 262, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_PyInt_AddObjC(__pyx_t_8, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 262, __pyx_L9_error)

 #line 262 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 262 "root_numpy/src/tree.pyx"
         __Pyx_DECREF(__pyx_t_8);

 #line 262 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __pyx_t_11;
+        __pyx_t_8 = __pyx_t_9;

 #line 262 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = 0;
+        __pyx_t_9 = 0;

         /* "root_numpy/src/tree.pyx":263
  *             branch_dict = dict()
@@ -24373,10 +23379,10 @@
  */

 #line 266 "root_numpy/src/tree.pyx"
-          __pyx_t_13 = PyObject_Length(__pyx_v_branch_spec); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(2, 266, __pyx_L9_error)
+          __pyx_t_12 = PyObject_Length(__pyx_v_branch_spec); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 266, __pyx_L9_error)

 #line 266 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = ((__pyx_t_13 == 2) != 0);
+          __pyx_t_1 = ((__pyx_t_12 == 2) != 0);

 #line 266 "root_numpy/src/tree.pyx"
           if (__pyx_t_1) {
@@ -24390,10 +23396,10 @@
  */

 #line 268 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 268, __pyx_L9_error)
+            __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 268, __pyx_L9_error)

 #line 268 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 268 "root_numpy/src/tree.pyx"
             __Pyx_INCREF(__pyx_v_idx);
@@ -24402,7 +23408,7 @@
             __Pyx_GIVEREF(__pyx_v_idx);

 #line 268 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_v_idx);
+            PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_idx);

 #line 268 "root_numpy/src/tree.pyx"
             __Pyx_INCREF(__pyx_int_1);
@@ -24411,22 +23417,22 @@
             __Pyx_GIVEREF(__pyx_int_1);

 #line 268 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_int_1);
+            PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_int_1);

 #line 268 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 268, __pyx_L9_error)
+            __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 268, __pyx_L9_error)

 #line 268 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_GOTREF(__pyx_t_10);

 #line 268 "root_numpy/src/tree.pyx"
-            if (unlikely(PyObject_SetItem(__pyx_v_branch_dict, __pyx_t_9, __pyx_t_11) < 0)) __PYX_ERR(2, 268, __pyx_L9_error)
+            if (unlikely(PyObject_SetItem(__pyx_v_branch_dict, __pyx_t_10, __pyx_t_9) < 0)) __PYX_ERR(2, 268, __pyx_L9_error)
+
+#line 268 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 268 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 268 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

             /* "root_numpy/src/tree.pyx":266
  *                     # branch_spec should be (branch_name, fill_value) or
@@ -24451,10 +23457,10 @@
  */

 #line 269 "root_numpy/src/tree.pyx"
-          __pyx_t_13 = PyObject_Length(__pyx_v_branch_spec); if (unlikely(__pyx_t_13 == ((Py_ssize_t)-1))) __PYX_ERR(2, 269, __pyx_L9_error)
+          __pyx_t_12 = PyObject_Length(__pyx_v_branch_spec); if (unlikely(__pyx_t_12 == ((Py_ssize_t)-1))) __PYX_ERR(2, 269, __pyx_L9_error)

 #line 269 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = ((__pyx_t_13 == 3) != 0);
+          __pyx_t_1 = ((__pyx_t_12 == 3) != 0);

 #line 269 "root_numpy/src/tree.pyx"
           if (likely(__pyx_t_1)) {
@@ -24468,22 +23474,22 @@
  */

 #line 270 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_branch_spec, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 270, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 270, __pyx_L9_error)

 #line 270 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 270 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = PyObject_RichCompare(__pyx_t_11, __pyx_int_1, Py_LT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 270, __pyx_L9_error)
-
-#line 270 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 270 "root_numpy/src/tree.pyx"
-            __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(2, 270, __pyx_L9_error)
+            __pyx_t_10 = PyObject_RichCompare(__pyx_t_9, __pyx_int_1, Py_LT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 270, __pyx_L9_error)

 #line 270 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 270 "root_numpy/src/tree.pyx"
+            __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(2, 270, __pyx_L9_error)
+
+#line 270 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 270 "root_numpy/src/tree.pyx"
             if (unlikely(__pyx_t_1)) {
@@ -24497,34 +23503,34 @@
  */

 #line 272 "root_numpy/src/tree.pyx"
-              __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_truncated_length_must_be_greater, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 272, __pyx_L9_error)
+              __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_truncated_length_must_be_greater, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 272, __pyx_L9_error)

 #line 272 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_11);
+              __Pyx_GOTREF(__pyx_t_9);

 #line 272 "root_numpy/src/tree.pyx"
-              __pyx_t_10 = NULL;
+              __pyx_t_13 = NULL;

 #line 272 "root_numpy/src/tree.pyx"
-              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 272 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
+                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);

 #line 272 "root_numpy/src/tree.pyx"
-                if (likely(__pyx_t_10)) {
+                if (likely(__pyx_t_13)) {

 #line 272 "root_numpy/src/tree.pyx"
-                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_INCREF(__pyx_t_10);
+                  __Pyx_INCREF(__pyx_t_13);

 #line 272 "root_numpy/src/tree.pyx"
                   __Pyx_INCREF(function);

 #line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_DECREF_SET(__pyx_t_11, function);
+                  __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 272 "root_numpy/src/tree.pyx"
                 }
@@ -24533,103 +23539,19 @@
               }

 #line 272 "root_numpy/src/tree.pyx"
-              if (!__pyx_t_10) {
+              __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_v_branch_spec) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_branch_spec);

 #line 272 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_branch_spec); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 272, __pyx_L9_error)
+              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 272 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
+              if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 272, __pyx_L9_error)

 #line 272 "root_numpy/src/tree.pyx"
-              } else {
+              __Pyx_GOTREF(__pyx_t_10);

 #line 272 "root_numpy/src/tree.pyx"
-                #if CYTHON_FAST_PYCALL
-
-#line 272 "root_numpy/src/tree.pyx"
-                if (PyFunction_Check(__pyx_t_11)) {
-
-#line 272 "root_numpy/src/tree.pyx"
-                  PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_branch_spec};
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 272, __pyx_L9_error)
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_9);
-
-#line 272 "root_numpy/src/tree.pyx"
-                } else
-
-#line 272 "root_numpy/src/tree.pyx"
-                #endif
-
-#line 272 "root_numpy/src/tree.pyx"
-                #if CYTHON_FAST_PYCCALL
-
-#line 272 "root_numpy/src/tree.pyx"
-                if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
-
-#line 272 "root_numpy/src/tree.pyx"
-                  PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_branch_spec};
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 272, __pyx_L9_error)
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_9);
-
-#line 272 "root_numpy/src/tree.pyx"
-                } else
-
-#line 272 "root_numpy/src/tree.pyx"
-                #endif
-
-#line 272 "root_numpy/src/tree.pyx"
-                {
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 272, __pyx_L9_error)
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_14);
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_10); __pyx_t_10 = NULL;
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_INCREF(__pyx_v_branch_spec);
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_GIVEREF(__pyx_v_branch_spec);
-
-#line 272 "root_numpy/src/tree.pyx"
-                  PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_v_branch_spec);
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_14, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 272, __pyx_L9_error)
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_9);
-
-#line 272 "root_numpy/src/tree.pyx"
-                  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 272 "root_numpy/src/tree.pyx"
-                }
-
-#line 272 "root_numpy/src/tree.pyx"
-              }
-
-#line 272 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

               /* "root_numpy/src/tree.pyx":271
  *                     elif len(branch_spec) == 3:
@@ -24640,19 +23562,19 @@
  */

 #line 271 "root_numpy/src/tree.pyx"
-              __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 271, __pyx_L9_error)
+              __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 271, __pyx_L9_error)

 #line 271 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_11);
+              __Pyx_GOTREF(__pyx_t_9);
+
+#line 271 "root_numpy/src/tree.pyx"
+              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 271 "root_numpy/src/tree.pyx"
+              __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 271 "root_numpy/src/tree.pyx"
               __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 271 "root_numpy/src/tree.pyx"
-              __Pyx_Raise(__pyx_t_11, 0, 0, 0);
-
-#line 271 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 271 "root_numpy/src/tree.pyx"
               __PYX_ERR(2, 271, __pyx_L9_error)
@@ -24677,49 +23599,49 @@
  */

 #line 273 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_branch_spec, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 273, __pyx_L9_error)
-
-#line 273 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
-
-#line 273 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 273, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 273, __pyx_L9_error)

 #line 273 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);

 #line 273 "root_numpy/src/tree.pyx"
+            __pyx_t_10 = PyTuple_New(2); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 273, __pyx_L9_error)
+
+#line 273 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_10);
+
+#line 273 "root_numpy/src/tree.pyx"
             __Pyx_INCREF(__pyx_v_idx);

 #line 273 "root_numpy/src/tree.pyx"
             __Pyx_GIVEREF(__pyx_v_idx);

 #line 273 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_idx);
+            PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_v_idx);

 #line 273 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_11);
+            __Pyx_GIVEREF(__pyx_t_9);

 #line 273 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_11);
+            PyTuple_SET_ITEM(__pyx_t_10, 1, __pyx_t_9);

 #line 273 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = 0;
+            __pyx_t_9 = 0;

 #line 273 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 273, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 273, __pyx_L9_error)

 #line 273 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 273 "root_numpy/src/tree.pyx"
-            if (unlikely(PyObject_SetItem(__pyx_v_branch_dict, __pyx_t_11, __pyx_t_9) < 0)) __PYX_ERR(2, 273, __pyx_L9_error)
-
-#line 273 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            if (unlikely(PyObject_SetItem(__pyx_v_branch_dict, __pyx_t_9, __pyx_t_10) < 0)) __PYX_ERR(2, 273, __pyx_L9_error)

 #line 273 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 273 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

             /* "root_numpy/src/tree.pyx":269
  *                         # max_length is implicitly equal to one
@@ -24755,34 +23677,34 @@
  */

 #line 280 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_invalid_branch_tuple_0_A_branch, __pyx_n_s_format); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 280, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_invalid_branch_tuple_0_A_branch, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 280, __pyx_L9_error)

 #line 280 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 280 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = NULL;
+            __pyx_t_13 = NULL;

 #line 280 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 280 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_11);
+              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);

 #line 280 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_14)) {
+              if (likely(__pyx_t_13)) {

 #line 280 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 280 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_14);
+                __Pyx_INCREF(__pyx_t_13);

 #line 280 "root_numpy/src/tree.pyx"
                 __Pyx_INCREF(function);

 #line 280 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_11, function);
+                __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 280 "root_numpy/src/tree.pyx"
               }
@@ -24791,103 +23713,19 @@
             }

 #line 280 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_14) {
+            __pyx_t_10 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_v_branch_spec) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_branch_spec);

 #line 280 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_branch_spec); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 280, __pyx_L9_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 280 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_9);
+            if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 280, __pyx_L9_error)

 #line 280 "root_numpy/src/tree.pyx"
-            } else {
+            __Pyx_GOTREF(__pyx_t_10);

 #line 280 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 280 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_11)) {
-
-#line 280 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_v_branch_spec};
-
-#line 280 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 280, __pyx_L9_error)
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
-
-#line 280 "root_numpy/src/tree.pyx"
-              } else
-
-#line 280 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 280 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 280 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
-
-#line 280 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_v_branch_spec};
-
-#line 280 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 280, __pyx_L9_error)
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
-
-#line 280 "root_numpy/src/tree.pyx"
-              } else
-
-#line 280 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 280 "root_numpy/src/tree.pyx"
-              {
-
-#line 280 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 280, __pyx_L9_error)
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_10);
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_14); __pyx_t_14 = NULL;
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_v_branch_spec);
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_v_branch_spec);
-
-#line 280 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_branch_spec);
-
-#line 280 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 280, __pyx_L9_error)
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
-
-#line 280 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 280 "root_numpy/src/tree.pyx"
-              }
-
-#line 280 "root_numpy/src/tree.pyx"
-            }
-
-#line 280 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

             /* "root_numpy/src/tree.pyx":275
  *                         branch_dict[branch_spec[0]] = (idx, branch_spec[2])
@@ -24898,19 +23736,19 @@
  */

 #line 275 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_9); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 275, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 275, __pyx_L9_error)

 #line 275 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_9);
+
+#line 275 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 275 "root_numpy/src/tree.pyx"
+            __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 275 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 275 "root_numpy/src/tree.pyx"
-            __Pyx_Raise(__pyx_t_11, 0, 0, 0);
-
-#line 275 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 275 "root_numpy/src/tree.pyx"
             __PYX_ERR(2, 275, __pyx_L9_error)
@@ -24930,25 +23768,25 @@
  */

 #line 281 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_branch_spec, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 281, __pyx_L9_error)
-
-#line 281 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_11);
-
-#line 281 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 281, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 281, __pyx_L9_error)

 #line 281 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_9);

 #line 281 "root_numpy/src/tree.pyx"
-          if (unlikely(PyObject_SetItem(__pyx_v_branch_defaults, __pyx_t_9, __pyx_t_11) < 0)) __PYX_ERR(2, 281, __pyx_L9_error)
+          __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 281, __pyx_L9_error)
+
+#line 281 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_10);
+
+#line 281 "root_numpy/src/tree.pyx"
+          if (unlikely(PyObject_SetItem(__pyx_v_branch_defaults, __pyx_t_10, __pyx_t_9) < 0)) __PYX_ERR(2, 281, __pyx_L9_error)
+
+#line 281 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 281 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 281 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

           /* "root_numpy/src/tree.pyx":263
  *             branch_dict = dict()
@@ -24976,10 +23814,10 @@
         /*else*/ {

 #line 283 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 283, __pyx_L9_error)
+          __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 283, __pyx_L9_error)

 #line 283 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 283 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(__pyx_v_idx);
@@ -24988,7 +23826,7 @@
           __Pyx_GIVEREF(__pyx_v_idx);

 #line 283 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_v_idx);
+          PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_idx);

 #line 283 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(__pyx_int_0);
@@ -24997,13 +23835,13 @@
           __Pyx_GIVEREF(__pyx_int_0);

 #line 283 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_int_0);
+          PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_int_0);

 #line 283 "root_numpy/src/tree.pyx"
-          if (unlikely(PyObject_SetItem(__pyx_v_branch_dict, __pyx_v_branch_spec, __pyx_t_11) < 0)) __PYX_ERR(2, 283, __pyx_L9_error)
+          if (unlikely(PyObject_SetItem(__pyx_v_branch_dict, __pyx_v_branch_spec, __pyx_t_9) < 0)) __PYX_ERR(2, 283, __pyx_L9_error)

 #line 283 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 283 "root_numpy/src/tree.pyx"
         }
@@ -25054,7 +23892,7 @@
  */

 #line 285 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__32, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 285, __pyx_L9_error)
+        __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__26, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 285, __pyx_L9_error)

 #line 285 "root_numpy/src/tree.pyx"
         __Pyx_GOTREF(__pyx_t_8);
@@ -25119,22 +23957,22 @@
       __Pyx_GOTREF(__pyx_t_2);

 #line 290 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = NULL;
+      __pyx_t_9 = NULL;

 #line 290 "root_numpy/src/tree.pyx"
       if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {

 #line 290 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_2);
+        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);

 #line 290 "root_numpy/src/tree.pyx"
-        if (likely(__pyx_t_11)) {
+        if (likely(__pyx_t_9)) {

 #line 290 "root_numpy/src/tree.pyx"
           PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 290 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_11);
+          __Pyx_INCREF(__pyx_t_9);

 #line 290 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(function);
@@ -25149,22 +23987,13 @@
       }

 #line 290 "root_numpy/src/tree.pyx"
-      if (__pyx_t_11) {
+      __pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_2);

 #line 290 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 290, __pyx_L9_error)
+      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 290 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 290 "root_numpy/src/tree.pyx"
-      } else {
-
-#line 290 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __Pyx_PyObject_CallNoArg(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 290, __pyx_L9_error)
-
-#line 290 "root_numpy/src/tree.pyx"
-      }
+      if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 290, __pyx_L9_error)

 #line 290 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_8);
@@ -25179,7 +24008,7 @@
         __pyx_t_2 = __pyx_t_8; __Pyx_INCREF(__pyx_t_2); __pyx_t_4 = 0;

 #line 290 "root_numpy/src/tree.pyx"
-        __pyx_t_12 = NULL;
+        __pyx_t_11 = NULL;

 #line 290 "root_numpy/src/tree.pyx"
       } else {
@@ -25191,7 +24020,7 @@
         __Pyx_GOTREF(__pyx_t_2);

 #line 290 "root_numpy/src/tree.pyx"
-        __pyx_t_12 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 290, __pyx_L9_error)
+        __pyx_t_11 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 290, __pyx_L9_error)

 #line 290 "root_numpy/src/tree.pyx"
       }
@@ -25203,7 +24032,7 @@
       for (;;) {

 #line 290 "root_numpy/src/tree.pyx"
-        if (likely(!__pyx_t_12)) {
+        if (likely(!__pyx_t_11)) {

 #line 290 "root_numpy/src/tree.pyx"
           if (likely(PyList_CheckExact(__pyx_t_2))) {
@@ -25260,7 +24089,7 @@
 {

 #line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = __pyx_t_12(__pyx_t_2);
+          __pyx_t_8 = __pyx_t_11(__pyx_t_2);

 #line 290 "root_numpy/src/tree.pyx"
           if (unlikely(!__pyx_t_8)) {
@@ -25323,45 +24152,45 @@
           if (likely(PyTuple_CheckExact(sequence))) {

 #line 290 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyTuple_GET_ITEM(sequence, 0);
+            __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0);

 #line 290 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = PyTuple_GET_ITEM(sequence, 1);
+            __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);

 #line 290 "root_numpy/src/tree.pyx"
           } else {

 #line 290 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyList_GET_ITEM(sequence, 0);
+            __pyx_t_9 = PyList_GET_ITEM(sequence, 0);

 #line 290 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = PyList_GET_ITEM(sequence, 1);
+            __pyx_t_10 = PyList_GET_ITEM(sequence, 1);

 #line 290 "root_numpy/src/tree.pyx"
           }

 #line 290 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_11);
+          __Pyx_INCREF(__pyx_t_9);

 #line 290 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_9);
+          __Pyx_INCREF(__pyx_t_10);

 #line 290 "root_numpy/src/tree.pyx"
           #else

 #line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 290, __pyx_L9_error)
-
-#line 290 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_11);
-
-#line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 290, __pyx_L9_error)
+          __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 290, __pyx_L9_error)

 #line 290 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_9);

 #line 290 "root_numpy/src/tree.pyx"
+          __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 290, __pyx_L9_error)
+
+#line 290 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_10);
+
+#line 290 "root_numpy/src/tree.pyx"
           #endif

 #line 290 "root_numpy/src/tree.pyx"
@@ -25374,37 +24203,37 @@
           Py_ssize_t index = -1;

 #line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 290, __pyx_L9_error)
+          __pyx_t_13 = PyObject_GetIter(__pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 290, __pyx_L9_error)
+
+#line 290 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_13);
+
+#line 290 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 290 "root_numpy/src/tree.pyx"
+          __pyx_t_14 = Py_TYPE(__pyx_t_13)->tp_iternext;
+          index = 0; __pyx_t_9 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_9))
+#line 290 "root_numpy/src/tree.pyx"
+goto __pyx_L25_unpacking_failed;
+
+#line 290 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_9);
+          index = 1; __pyx_t_10 = __pyx_t_14(__pyx_t_13); if (unlikely(!__pyx_t_10))
+#line 290 "root_numpy/src/tree.pyx"
+goto __pyx_L25_unpacking_failed;

 #line 290 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_10);

 #line 290 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_13), 2) < 0) __PYX_ERR(2, 290, __pyx_L9_error)

 #line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_15 = Py_TYPE(__pyx_t_10)->tp_iternext;
-          index = 0; __pyx_t_11 = __pyx_t_15(__pyx_t_10); if (unlikely(!__pyx_t_11))
+          __pyx_t_14 = NULL;
+
 #line 290 "root_numpy/src/tree.pyx"
-goto __pyx_L25_unpacking_failed;
-
-#line 290 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_11);
-          index = 1; __pyx_t_9 = __pyx_t_15(__pyx_t_10); if (unlikely(!__pyx_t_9))
-#line 290 "root_numpy/src/tree.pyx"
-goto __pyx_L25_unpacking_failed;
-
-#line 290 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
-
-#line 290 "root_numpy/src/tree.pyx"
-          if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_10), 2) < 0) __PYX_ERR(2, 290, __pyx_L9_error)
-
-#line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_15 = NULL;
-
-#line 290 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 290 "root_numpy/src/tree.pyx"
           goto __pyx_L26_unpacking_done;
@@ -25413,10 +24242,10 @@
           __pyx_L25_unpacking_failed:;

 #line 290 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 290 "root_numpy/src/tree.pyx"
-          __pyx_t_15 = NULL;
+          __pyx_t_14 = NULL;

 #line 290 "root_numpy/src/tree.pyx"
           if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
@@ -25431,16 +24260,16 @@
         }

 #line 290 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF_SET(__pyx_v_subselection, __pyx_t_11);
-
-#line 290 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = 0;
-
-#line 290 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF_SET(__pyx_v_subselection_branches, __pyx_t_9);
+        __Pyx_XDECREF_SET(__pyx_v_subselection, __pyx_t_9);

 #line 290 "root_numpy/src/tree.pyx"
         __pyx_t_9 = 0;
+
+#line 290 "root_numpy/src/tree.pyx"
+        __Pyx_XDECREF_SET(__pyx_v_subselection_branches, __pyx_t_10);
+
+#line 290 "root_numpy/src/tree.pyx"
+        __pyx_t_10 = 0;

         /* "root_numpy/src/tree.pyx":291
  *         if perform_object_selection:
@@ -25454,16 +24283,16 @@
         __pyx_t_3 = PyList_Check(__pyx_v_subselection_branches);

 #line 291 "root_numpy/src/tree.pyx"
-        __pyx_t_16 = (__pyx_t_3 != 0);
+        __pyx_t_15 = (__pyx_t_3 != 0);

 #line 291 "root_numpy/src/tree.pyx"
-        if (!__pyx_t_16) {
+        if (!__pyx_t_15) {

 #line 291 "root_numpy/src/tree.pyx"
         } else {

 #line 291 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __pyx_t_16;
+          __pyx_t_1 = __pyx_t_15;

 #line 291 "root_numpy/src/tree.pyx"
           goto __pyx_L28_bool_binop_done;
@@ -25472,10 +24301,10 @@
         }

 #line 291 "root_numpy/src/tree.pyx"
-        __pyx_t_16 = PyTuple_Check(__pyx_v_subselection_branches);
+        __pyx_t_15 = PyTuple_Check(__pyx_v_subselection_branches);

 #line 291 "root_numpy/src/tree.pyx"
-        __pyx_t_3 = (__pyx_t_16 != 0);
+        __pyx_t_3 = (__pyx_t_15 != 0);

 #line 291 "root_numpy/src/tree.pyx"
         __pyx_t_1 = __pyx_t_3;
@@ -25538,13 +24367,13 @@
  */

 #line 293 "root_numpy/src/tree.pyx"
+        __pyx_t_16 = __Pyx_PyObject_AsString(__pyx_v_subselection); if (unlikely((!__pyx_t_16) && PyErr_Occurred())) __PYX_ERR(2, 293, __pyx_L9_error)
+
+#line 293 "root_numpy/src/tree.pyx"
         __pyx_t_17 = __Pyx_PyObject_AsString(__pyx_v_subselection); if (unlikely((!__pyx_t_17) && PyErr_Occurred())) __PYX_ERR(2, 293, __pyx_L9_error)

 #line 293 "root_numpy/src/tree.pyx"
-        __pyx_t_18 = __Pyx_PyObject_AsString(__pyx_v_subselection); if (unlikely((!__pyx_t_18) && PyErr_Occurred())) __PYX_ERR(2, 293, __pyx_L9_error)
-
-#line 293 "root_numpy/src/tree.pyx"
-        __pyx_v_formula = new TTreeFormula(__pyx_t_17, __pyx_t_18, __pyx_v_tree);
+        __pyx_v_formula = new TTreeFormula(__pyx_t_16, __pyx_t_17, __pyx_v_tree);

         /* "root_numpy/src/tree.pyx":294
  *                     subselection_branches = [subselection_branches]
@@ -25604,34 +24433,34 @@
  */

 #line 298 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_the_expression_0_is_not_valid, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 298, __pyx_L9_error)
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_the_expression_0_is_not_valid, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 298, __pyx_L9_error)

 #line 298 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_10);

 #line 298 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = NULL;
+          __pyx_t_9 = NULL;

 #line 298 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {

 #line 298 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);
+            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10);

 #line 298 "root_numpy/src/tree.pyx"
-            if (likely(__pyx_t_11)) {
+            if (likely(__pyx_t_9)) {

 #line 298 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);

 #line 298 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_t_11);
+              __Pyx_INCREF(__pyx_t_9);

 #line 298 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(function);

 #line 298 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_9, function);
+              __Pyx_DECREF_SET(__pyx_t_10, function);

 #line 298 "root_numpy/src/tree.pyx"
             }
@@ -25640,103 +24469,19 @@
           }

 #line 298 "root_numpy/src/tree.pyx"
-          if (!__pyx_t_11) {
+          __pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_9, __pyx_v_subselection) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_subselection);

 #line 298 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_subselection); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 298, __pyx_L9_error)
+          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 298 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_8);
+          if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 298, __pyx_L9_error)

 #line 298 "root_numpy/src/tree.pyx"
-          } else {
+          __Pyx_GOTREF(__pyx_t_8);

 #line 298 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCALL
-
-#line 298 "root_numpy/src/tree.pyx"
-            if (PyFunction_Check(__pyx_t_9)) {
-
-#line 298 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_v_subselection};
-
-#line 298 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 298, __pyx_L9_error)
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_8);
-
-#line 298 "root_numpy/src/tree.pyx"
-            } else
-
-#line 298 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 298 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCCALL
-
-#line 298 "root_numpy/src/tree.pyx"
-            if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 298 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_v_subselection};
-
-#line 298 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 298, __pyx_L9_error)
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_8);
-
-#line 298 "root_numpy/src/tree.pyx"
-            } else
-
-#line 298 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 298 "root_numpy/src/tree.pyx"
-            {
-
-#line 298 "root_numpy/src/tree.pyx"
-              __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 298, __pyx_L9_error)
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_10);
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_11); __pyx_t_11 = NULL;
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_v_subselection);
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_v_subselection);
-
-#line 298 "root_numpy/src/tree.pyx"
-              PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_subselection);
-
-#line 298 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_10, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 298, __pyx_L9_error)
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_8);
-
-#line 298 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 298 "root_numpy/src/tree.pyx"
-            }
-
-#line 298 "root_numpy/src/tree.pyx"
-          }
-
-#line 298 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

           /* "root_numpy/src/tree.pyx":296
  *                 if formula == NULL or formula.GetNdim() == 0:
@@ -25747,19 +24492,19 @@
  */

 #line 296 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 296, __pyx_L9_error)
+          __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 296, __pyx_L9_error)

 #line 296 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_10);

 #line 296 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 296 "root_numpy/src/tree.pyx"
-          __Pyx_Raise(__pyx_t_9, 0, 0, 0);
+          __Pyx_Raise(__pyx_t_10, 0, 0, 0);

 #line 296 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 296 "root_numpy/src/tree.pyx"
           __PYX_ERR(2, 296, __pyx_L9_error)
@@ -25809,22 +24554,22 @@
         if (likely(PyList_CheckExact(__pyx_v_subselection_branches)) || PyTuple_CheckExact(__pyx_v_subselection_branches)) {

 #line 301 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __pyx_v_subselection_branches; __Pyx_INCREF(__pyx_t_9); __pyx_t_13 = 0;
+          __pyx_t_10 = __pyx_v_subselection_branches; __Pyx_INCREF(__pyx_t_10); __pyx_t_12 = 0;

 #line 301 "root_numpy/src/tree.pyx"
-          __pyx_t_19 = NULL;
+          __pyx_t_18 = NULL;

 #line 301 "root_numpy/src/tree.pyx"
         } else {
-          __pyx_t_13 = -1;
+          __pyx_t_12 = -1;
 #line 301 "root_numpy/src/tree.pyx"
-__pyx_t_9 = PyObject_GetIter(__pyx_v_subselection_branches); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 301, __pyx_L9_error)
+__pyx_t_10 = PyObject_GetIter(__pyx_v_subselection_branches); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 301, __pyx_L9_error)

 #line 301 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_10);

 #line 301 "root_numpy/src/tree.pyx"
-          __pyx_t_19 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_19)) __PYX_ERR(2, 301, __pyx_L9_error)
+          __pyx_t_18 = Py_TYPE(__pyx_t_10)->tp_iternext; if (unlikely(!__pyx_t_18)) __PYX_ERR(2, 301, __pyx_L9_error)

 #line 301 "root_numpy/src/tree.pyx"
         }
@@ -25833,25 +24578,25 @@
         for (;;) {

 #line 301 "root_numpy/src/tree.pyx"
-          if (likely(!__pyx_t_19)) {
+          if (likely(!__pyx_t_18)) {

 #line 301 "root_numpy/src/tree.pyx"
-            if (likely(PyList_CheckExact(__pyx_t_9))) {
+            if (likely(PyList_CheckExact(__pyx_t_10))) {

 #line 301 "root_numpy/src/tree.pyx"
-              if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_9)) break;
+              if (__pyx_t_12 >= PyList_GET_SIZE(__pyx_t_10)) break;

 #line 301 "root_numpy/src/tree.pyx"
               #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 301 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(2, 301, __pyx_L9_error)
+              __pyx_t_8 = PyList_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(2, 301, __pyx_L9_error)

 #line 301 "root_numpy/src/tree.pyx"
               #else

 #line 301 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 301, __pyx_L9_error)
+              __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 301, __pyx_L9_error)

 #line 301 "root_numpy/src/tree.pyx"
               __Pyx_GOTREF(__pyx_t_8);
@@ -25863,19 +24608,19 @@
             } else {

 #line 301 "root_numpy/src/tree.pyx"
-              if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
+              if (__pyx_t_12 >= PyTuple_GET_SIZE(__pyx_t_10)) break;

 #line 301 "root_numpy/src/tree.pyx"
               #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 301 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_13); __Pyx_INCREF(__pyx_t_8); __pyx_t_13++; if (unlikely(0 < 0)) __PYX_ERR(2, 301, __pyx_L9_error)
+              __pyx_t_8 = PyTuple_GET_ITEM(__pyx_t_10, __pyx_t_12); __Pyx_INCREF(__pyx_t_8); __pyx_t_12++; if (unlikely(0 < 0)) __PYX_ERR(2, 301, __pyx_L9_error)

 #line 301 "root_numpy/src/tree.pyx"
               #else

 #line 301 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = PySequence_ITEM(__pyx_t_9, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 301, __pyx_L9_error)
+              __pyx_t_8 = PySequence_ITEM(__pyx_t_10, __pyx_t_12); __pyx_t_12++; if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 301, __pyx_L9_error)

 #line 301 "root_numpy/src/tree.pyx"
               __Pyx_GOTREF(__pyx_t_8);
@@ -25890,7 +24635,7 @@
 {

 #line 301 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = __pyx_t_19(__pyx_t_9);
+            __pyx_t_8 = __pyx_t_18(__pyx_t_10);

 #line 301 "root_numpy/src/tree.pyx"
             if (unlikely(!__pyx_t_8)) {
@@ -25937,10 +24682,10 @@
  */

 #line 302 "root_numpy/src/tree.pyx"
-          __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_v_subselection_branch); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 302, __pyx_L9_error)
+          __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_v_subselection_branch); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 302, __pyx_L9_error)

 #line 302 "root_numpy/src/tree.pyx"
-          __pyx_t_3 = ((__pyx_v_selector_map.find(__pyx_t_20) != __pyx_v_selector_map.end()) != 0);
+          __pyx_t_3 = ((__pyx_v_selector_map.find(__pyx_t_19) != __pyx_v_selector_map.end()) != 0);

 #line 302 "root_numpy/src/tree.pyx"
           if (unlikely(__pyx_t_3)) {
@@ -25954,34 +24699,34 @@
  */

 #line 306 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_attempting_to_apply_multiple_obj, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 306, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_attempting_to_apply_multiple_obj, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 306, __pyx_L9_error)

 #line 306 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_10);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 306 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = NULL;
+            __pyx_t_13 = NULL;

 #line 306 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 306 "root_numpy/src/tree.pyx"
-              __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
+              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);

 #line 306 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_11)) {
+              if (likely(__pyx_t_13)) {

 #line 306 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 306 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_11);
+                __Pyx_INCREF(__pyx_t_13);

 #line 306 "root_numpy/src/tree.pyx"
                 __Pyx_INCREF(function);

 #line 306 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_10, function);
+                __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 306 "root_numpy/src/tree.pyx"
               }
@@ -25990,103 +24735,19 @@
             }

 #line 306 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_11) {
+            __pyx_t_8 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_v_subselection_branch) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_subselection_branch);

 #line 306 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_subselection_branch); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 306, __pyx_L9_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 306 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_8);
+            if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 306, __pyx_L9_error)

 #line 306 "root_numpy/src/tree.pyx"
-            } else {
+            __Pyx_GOTREF(__pyx_t_8);

 #line 306 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 306 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_10)) {
-
-#line 306 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_v_subselection_branch};
-
-#line 306 "root_numpy/src/tree.pyx"
-                __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 306, __pyx_L9_error)
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_8);
-
-#line 306 "root_numpy/src/tree.pyx"
-              } else
-
-#line 306 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 306 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 306 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
-
-#line 306 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_v_subselection_branch};
-
-#line 306 "root_numpy/src/tree.pyx"
-                __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 306, __pyx_L9_error)
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_8);
-
-#line 306 "root_numpy/src/tree.pyx"
-              } else
-
-#line 306 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 306 "root_numpy/src/tree.pyx"
-              {
-
-#line 306 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 306, __pyx_L9_error)
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_11); __pyx_t_11 = NULL;
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_v_subselection_branch);
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_v_subselection_branch);
-
-#line 306 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_v_subselection_branch);
-
-#line 306 "root_numpy/src/tree.pyx"
-                __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_14, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 306, __pyx_L9_error)
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_8);
-
-#line 306 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 306 "root_numpy/src/tree.pyx"
-              }
-
-#line 306 "root_numpy/src/tree.pyx"
-            }
-
-#line 306 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

             /* "root_numpy/src/tree.pyx":304
  *                     if selector_map.find(subselection_branch) != selector_map.end():
@@ -26097,19 +24758,19 @@
  */

 #line 304 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 304, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 304, __pyx_L9_error)

 #line 304 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_10);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 304 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 304 "root_numpy/src/tree.pyx"
-            __Pyx_Raise(__pyx_t_10, 0, 0, 0);
+            __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 304 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 304 "root_numpy/src/tree.pyx"
             __PYX_ERR(2, 304, __pyx_L9_error)
@@ -26134,13 +24795,13 @@
  */

 #line 307 "root_numpy/src/tree.pyx"
-          __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_v_subselection_branch); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 307, __pyx_L9_error)
+          __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_v_subselection_branch); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 307, __pyx_L9_error)

 #line 307 "root_numpy/src/tree.pyx"
           try {

 #line 307 "root_numpy/src/tree.pyx"
-            __pyx_t_21 = __pyx_t_13_librootnumpy_selector_map_item_type(__pyx_t_20, __pyx_v_selector);
+            __pyx_t_20 = __pyx_t_13_librootnumpy_selector_map_item_type(__pyx_t_19, __pyx_v_selector);

 #line 307 "root_numpy/src/tree.pyx"
           } catch(...) {
@@ -26158,7 +24819,7 @@
           try {

 #line 307 "root_numpy/src/tree.pyx"
-            __pyx_v_selector_map.insert(__pyx_t_21);
+            __pyx_v_selector_map.insert(__pyx_t_20);

 #line 307 "root_numpy/src/tree.pyx"
           } catch(...) {
@@ -26184,7 +24845,7 @@
         }

 #line 301 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

         /* "root_numpy/src/tree.pyx":290
  *         # Create reverse lookup dictionary mapping field names to Selectors
@@ -26254,16 +24915,16 @@
  */

 #line 314 "root_numpy/src/tree.pyx"
-    __pyx_t_22 = __pyx_v_num_branches;
+    __pyx_t_21 = __pyx_v_num_branches;

 #line 314 "root_numpy/src/tree.pyx"
-    __pyx_t_23 = __pyx_t_22;
+    __pyx_t_22 = __pyx_t_21;

 #line 314 "root_numpy/src/tree.pyx"
-    for (__pyx_t_24 = 0; __pyx_t_24 < __pyx_t_23; __pyx_t_24+=1) {
+    for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) {

 #line 314 "root_numpy/src/tree.pyx"
-      __pyx_v_ibranch = __pyx_t_24;
+      __pyx_v_ibranch = __pyx_t_23;

       /* "root_numpy/src/tree.pyx":315
  *         branch_spec = None
@@ -26358,16 +25019,16 @@
           __Pyx_PyThreadState_assign

 #line 321 "root_numpy/src/tree.pyx"
-          __Pyx_ExceptionSave(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27);
+          __Pyx_ExceptionSave(&__pyx_t_24, &__pyx_t_25, &__pyx_t_26);
+
+#line 321 "root_numpy/src/tree.pyx"
+          __Pyx_XGOTREF(__pyx_t_24);

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XGOTREF(__pyx_t_25);

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XGOTREF(__pyx_t_26);
-
-#line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XGOTREF(__pyx_t_27);

 #line 321 "root_numpy/src/tree.pyx"
           /*try:*/ {
@@ -26381,31 +25042,31 @@
  */

 #line 322 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch_dict, __pyx_n_s_pop); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 322, __pyx_L40_error)
+            __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch_dict, __pyx_n_s_pop); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 322, __pyx_L40_error)
+
+#line 322 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_10);
+
+#line 322 "root_numpy/src/tree.pyx"
+            __pyx_t_9 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 322, __pyx_L40_error)

 #line 322 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);

 #line 322 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 322, __pyx_L40_error)
+            __pyx_t_8 = NULL;

 #line 322 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_10);
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {

 #line 322 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = NULL;
-
-#line 322 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
-
-#line 322 "root_numpy/src/tree.pyx"
-              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
+              __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_10);

 #line 322 "root_numpy/src/tree.pyx"
               if (likely(__pyx_t_8)) {

 #line 322 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);

 #line 322 "root_numpy/src/tree.pyx"
                 __Pyx_INCREF(__pyx_t_8);
@@ -26414,7 +25075,7 @@
                 __Pyx_INCREF(function);

 #line 322 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_9, function);
+                __Pyx_DECREF_SET(__pyx_t_10, function);

 #line 322 "root_numpy/src/tree.pyx"
               }
@@ -26423,112 +25084,22 @@
             }

 #line 322 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_8) {
+            __pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_8, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_9);

 #line 322 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 322, __pyx_L40_error)
-
-#line 322 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_2);
-
-#line 322 "root_numpy/src/tree.pyx"
-            } else {
-
-#line 322 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 322 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_9)) {
-
-#line 322 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_10};
-
-#line 322 "root_numpy/src/tree.pyx"
-                __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 322, __pyx_L40_error)
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_2);
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-              } else
-
-#line 322 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 322 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 322 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 322 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_10};
-
-#line 322 "root_numpy/src/tree.pyx"
-                __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 322, __pyx_L40_error)
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_2);
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-              } else
-
-#line 322 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 322 "root_numpy/src/tree.pyx"
-              {
-
-#line 322 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 322, __pyx_L40_error)
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_8); __pyx_t_8 = NULL;
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_10);
-
-#line 322 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_10);
-
-#line 322 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-                __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 322, __pyx_L40_error)
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_2);
-
-#line 322 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 322 "root_numpy/src/tree.pyx"
-              }
-
-#line 322 "root_numpy/src/tree.pyx"
-            }
+            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 322 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 322 "root_numpy/src/tree.pyx"
+            if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 322, __pyx_L40_error)
+
+#line 322 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_2);
+
+#line 322 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 322 "root_numpy/src/tree.pyx"
             __Pyx_DECREF_SET(__pyx_v_branch_spec, __pyx_t_2);
@@ -26548,34 +25119,31 @@
           }

 #line 321 "root_numpy/src/tree.pyx"
+          __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
+
+#line 321 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;

 #line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
-
-#line 321 "root_numpy/src/tree.pyx"
           goto __pyx_L47_try_end;

 #line 321 "root_numpy/src/tree.pyx"
           __pyx_L40_error:;

 #line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 321 "root_numpy/src/tree.pyx"
+          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 321 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -26589,25 +25157,25 @@
  */

 #line 323 "root_numpy/src/tree.pyx"
-          __pyx_t_28 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);
+          __pyx_t_27 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_KeyError);

 #line 323 "root_numpy/src/tree.pyx"
-          if (__pyx_t_28) {
+          if (__pyx_t_27) {

 #line 323 "root_numpy/src/tree.pyx"
             __Pyx_AddTraceback("_librootnumpy.tree2array", __pyx_clineno, __pyx_lineno, __pyx_filename);

 #line 323 "root_numpy/src/tree.pyx"
-            if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_9, &__pyx_t_14) < 0) __PYX_ERR(2, 323, __pyx_L42_except_error)
+            if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_10, &__pyx_t_9) < 0) __PYX_ERR(2, 323, __pyx_L42_except_error)

 #line 323 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_2);

 #line 323 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_10);
+
+#line 323 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);
-
-#line 323 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);

             /* "root_numpy/src/tree.pyx":325
  *                 except KeyError:
@@ -26627,10 +25195,10 @@
             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 325 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 325 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 325 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 325 "root_numpy/src/tree.pyx"
             goto __pyx_L46_try_continue;
@@ -26653,16 +25221,16 @@
  */

 #line 321 "root_numpy/src/tree.pyx"
+          __Pyx_XGIVEREF(__pyx_t_24);
+
+#line 321 "root_numpy/src/tree.pyx"
           __Pyx_XGIVEREF(__pyx_t_25);

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XGIVEREF(__pyx_t_26);

 #line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XGIVEREF(__pyx_t_27);
-
-#line 321 "root_numpy/src/tree.pyx"
-          __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27);
+          __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_25, __pyx_t_26);

 #line 321 "root_numpy/src/tree.pyx"
           goto __pyx_L9_error;
@@ -26671,16 +25239,16 @@
           __pyx_L46_try_continue:;

 #line 321 "root_numpy/src/tree.pyx"
+          __Pyx_XGIVEREF(__pyx_t_24);
+
+#line 321 "root_numpy/src/tree.pyx"
           __Pyx_XGIVEREF(__pyx_t_25);

 #line 321 "root_numpy/src/tree.pyx"
           __Pyx_XGIVEREF(__pyx_t_26);

 #line 321 "root_numpy/src/tree.pyx"
-          __Pyx_XGIVEREF(__pyx_t_27);
-
-#line 321 "root_numpy/src/tree.pyx"
-          __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27);
+          __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_25, __pyx_t_26);

 #line 321 "root_numpy/src/tree.pyx"
           goto __pyx_L36_continue;
@@ -26700,19 +25268,19 @@
  */

 #line 326 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 326, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 326, __pyx_L9_error)

 #line 326 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 326 "root_numpy/src/tree.pyx"
-        __pyx_t_28 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_28 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 326, __pyx_L9_error)
+        __pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 326, __pyx_L9_error)

 #line 326 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 326 "root_numpy/src/tree.pyx"
-        __pyx_v_branch_idx = __pyx_t_28;
+        __pyx_v_branch_idx = __pyx_t_27;

         /* "root_numpy/src/tree.pyx":317
  *             tbranch = <TBranch*> branch_array.At(ibranch)
@@ -26737,16 +25305,16 @@
  */

 #line 327 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 327, __pyx_L9_error)
+      __pyx_t_9 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 327, __pyx_L9_error)

 #line 327 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_14);
+      __Pyx_GOTREF(__pyx_t_9);

 #line 327 "root_numpy/src/tree.pyx"
-      __pyx_t_3 = (__Pyx_PySet_ContainsTF(__pyx_t_14, __pyx_v_seen_branches, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 327, __pyx_L9_error)
+      __pyx_t_3 = (__Pyx_PySet_ContainsTF(__pyx_t_9, __pyx_v_seen_branches, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 327, __pyx_L9_error)

 #line 327 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 327 "root_numpy/src/tree.pyx"
       __pyx_t_1 = (__pyx_t_3 != 0);
@@ -26763,169 +25331,79 @@
  */

 #line 328 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)
+        __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_warnings); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 328 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_GOTREF(__pyx_t_10);

 #line 328 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 328, __pyx_L9_error)
+        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_warn); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 328 "root_numpy/src/tree.pyx"
         __Pyx_GOTREF(__pyx_t_2);

 #line 328 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 328 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_ignoring_duplicate_branch_named, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 328, __pyx_L9_error)
+        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_ignoring_duplicate_branch_named, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 328, __pyx_L9_error)
+
+#line 328 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_8);
+
+#line 328 "root_numpy/src/tree.pyx"
+        __pyx_t_13 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 328, __pyx_L9_error)
+
+#line 328 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_13);
+
+#line 328 "root_numpy/src/tree.pyx"
+        __pyx_t_28 = NULL;
+
+#line 328 "root_numpy/src/tree.pyx"
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+
+#line 328 "root_numpy/src/tree.pyx"
+          __pyx_t_28 = PyMethod_GET_SELF(__pyx_t_8);
+
+#line 328 "root_numpy/src/tree.pyx"
+          if (likely(__pyx_t_28)) {
+
+#line 328 "root_numpy/src/tree.pyx"
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 328 "root_numpy/src/tree.pyx"
+            __Pyx_INCREF(__pyx_t_28);
+
+#line 328 "root_numpy/src/tree.pyx"
+            __Pyx_INCREF(function);
+
+#line 328 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF_SET(__pyx_t_8, function);
+
+#line 328 "root_numpy/src/tree.pyx"
+          }
+
+#line 328 "root_numpy/src/tree.pyx"
+        }
+
+#line 328 "root_numpy/src/tree.pyx"
+        __pyx_t_10 = (__pyx_t_28) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_28, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_13);
+
+#line 328 "root_numpy/src/tree.pyx"
+        __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+
+#line 328 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 328 "root_numpy/src/tree.pyx"
+        if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 328 "root_numpy/src/tree.pyx"
         __Pyx_GOTREF(__pyx_t_10);

 #line 328 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 328, __pyx_L9_error)
-
-#line 328 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_8);
-
-#line 328 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = NULL;
-
-#line 328 "root_numpy/src/tree.pyx"
-        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
-
-#line 328 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10);
-
-#line 328 "root_numpy/src/tree.pyx"
-          if (likely(__pyx_t_11)) {
-
-#line 328 "root_numpy/src/tree.pyx"
-            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_INCREF(__pyx_t_11);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_INCREF(function);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF_SET(__pyx_t_10, function);
-
-#line 328 "root_numpy/src/tree.pyx"
-          }
-
-#line 328 "root_numpy/src/tree.pyx"
-        }
-
-#line 328 "root_numpy/src/tree.pyx"
-        if (!__pyx_t_11) {
-
-#line 328 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)
-
-#line 328 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
-
-#line 328 "root_numpy/src/tree.pyx"
-        } else {
-
-#line 328 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCALL
-
-#line 328 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_10)) {
-
-#line 328 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_8};
-
-#line 328 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-          } else
-
-#line 328 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 328 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCCALL
-
-#line 328 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
-
-#line 328 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_8};
-
-#line 328 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-          } else
-
-#line 328 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 328 "root_numpy/src/tree.pyx"
-          {
-
-#line 328 "root_numpy/src/tree.pyx"
-            __pyx_t_29 = PyTuple_New(1+1); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 328, __pyx_L9_error)
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_29);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_11); __pyx_t_11 = NULL;
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_8);
-
-#line 328 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_29, 0+1, __pyx_t_8);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_29, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
-
-#line 328 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
-
-#line 328 "root_numpy/src/tree.pyx"
-          }
-
-#line 328 "root_numpy/src/tree.pyx"
-        }
-
-#line 328 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

         /* "root_numpy/src/tree.pyx":329
  *             elif branch_name in seen_branches:
@@ -26936,25 +25414,25 @@
  */

 #line 329 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = NULL;
+        __pyx_t_8 = NULL;

 #line 329 "root_numpy/src/tree.pyx"
-        __pyx_t_28 = 0;
+        __pyx_t_27 = 0;

 #line 329 "root_numpy/src/tree.pyx"
         if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {

 #line 329 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);
+          __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);

 #line 329 "root_numpy/src/tree.pyx"
-          if (likely(__pyx_t_10)) {
+          if (likely(__pyx_t_8)) {

 #line 329 "root_numpy/src/tree.pyx"
             PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 329 "root_numpy/src/tree.pyx"
-            __Pyx_INCREF(__pyx_t_10);
+            __Pyx_INCREF(__pyx_t_8);

 #line 329 "root_numpy/src/tree.pyx"
             __Pyx_INCREF(function);
@@ -26963,7 +25441,7 @@
             __Pyx_DECREF_SET(__pyx_t_2, function);

 #line 329 "root_numpy/src/tree.pyx"
-            __pyx_t_28 = 1;
+            __pyx_t_27 = 1;

 #line 329 "root_numpy/src/tree.pyx"
           }
@@ -26978,19 +25456,19 @@
         if (PyFunction_Check(__pyx_t_2)) {

 #line 329 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_builtin_RuntimeWarning};
+          PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_10, __pyx_builtin_RuntimeWarning};

 #line 329 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_28, 2+__pyx_t_28); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 328, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_27, 2+__pyx_t_27); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 329 "root_numpy/src/tree.pyx"
         } else
@@ -27005,19 +25483,19 @@
         if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {

 #line 329 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_builtin_RuntimeWarning};
+          PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_10, __pyx_builtin_RuntimeWarning};

 #line 329 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_28, 2+__pyx_t_28); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 328, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_27, 2+__pyx_t_27); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 329 "root_numpy/src/tree.pyx"
         } else
@@ -27029,25 +25507,25 @@
         {

 #line 329 "root_numpy/src/tree.pyx"
-          __pyx_t_29 = PyTuple_New(2+__pyx_t_28); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 328, __pyx_L9_error)
+          __pyx_t_13 = PyTuple_New(2+__pyx_t_27); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_29);
+          __Pyx_GOTREF(__pyx_t_13);

 #line 329 "root_numpy/src/tree.pyx"
-          if (__pyx_t_10) {
+          if (__pyx_t_8) {

 #line 329 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_29, 0, __pyx_t_10); __pyx_t_10 = NULL;
+            __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_8); __pyx_t_8 = NULL;

 #line 329 "root_numpy/src/tree.pyx"
           }

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_9);
+          __Pyx_GIVEREF(__pyx_t_10);

 #line 329 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_29, 0+__pyx_t_28, __pyx_t_9);
+          PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_27, __pyx_t_10);

 #line 329 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(__pyx_builtin_RuntimeWarning);
@@ -27056,19 +25534,19 @@
           __Pyx_GIVEREF(__pyx_builtin_RuntimeWarning);

 #line 329 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_29, 1+__pyx_t_28, __pyx_builtin_RuntimeWarning);
+          PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_27, __pyx_builtin_RuntimeWarning);

 #line 329 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = 0;
+          __pyx_t_10 = 0;

 #line 329 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_29, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 328, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 328, __pyx_L9_error)

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 329 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 329 "root_numpy/src/tree.pyx"
         }
@@ -27077,7 +25555,7 @@
         __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 329 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

         /* "root_numpy/src/tree.pyx":331
  *                               RuntimeWarning)
@@ -27113,16 +25591,16 @@
       /*else*/ {

 #line 333 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 333, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 333, __pyx_L9_error)

 #line 333 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 333 "root_numpy/src/tree.pyx"
-        __pyx_t_30 = PySet_Add(__pyx_v_seen_branches, __pyx_t_14); if (unlikely(__pyx_t_30 == ((int)-1))) __PYX_ERR(2, 333, __pyx_L9_error)
+        __pyx_t_29 = PySet_Add(__pyx_v_seen_branches, __pyx_t_9); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 333, __pyx_L9_error)

 #line 333 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 333 "root_numpy/src/tree.pyx"
       }
@@ -27142,7 +25620,7 @@
       try {

 #line 335 "root_numpy/src/tree.pyx"
-        __pyx_t_20 = std::string(__pyx_v_tbranch->GetTitle());
+        __pyx_t_19 = std::string(__pyx_v_tbranch->GetTitle());

 #line 335 "root_numpy/src/tree.pyx"
       } catch(...) {
@@ -27157,7 +25635,7 @@
       }

 #line 335 "root_numpy/src/tree.pyx"
-      __pyx_v_branch_title = __pyx_t_20;
+      __pyx_v_branch_title = __pyx_t_19;

       /* "root_numpy/src/tree.pyx":336
  *
@@ -27301,7 +25779,7 @@
         try {

 #line 346 "root_numpy/src/tree.pyx"
-          __pyx_t_20 = std::string(__pyx_v_branch_name);
+          __pyx_t_19 = std::string(__pyx_v_branch_name);

 #line 346 "root_numpy/src/tree.pyx"
         } catch(...) {
@@ -27316,7 +25794,7 @@
         }

 #line 346 "root_numpy/src/tree.pyx"
-        __pyx_v_selector_map_it = __pyx_v_selector_map.find(__pyx_t_20);
+        __pyx_v_selector_map_it = __pyx_v_selector_map.find(__pyx_t_19);

         /* "root_numpy/src/tree.pyx":347
  *                 # Find selector for this branch if present
@@ -27341,10 +25819,10 @@
  */

 #line 348 "root_numpy/src/tree.pyx"
-          __pyx_t_31 = (*__pyx_v_selector_map_it).second;
+          __pyx_t_30 = (*__pyx_v_selector_map_it).second;

 #line 348 "root_numpy/src/tree.pyx"
-          __pyx_v_selector = __pyx_t_31;
+          __pyx_v_selector = __pyx_t_30;

           /* "root_numpy/src/tree.pyx":352
  *                     # present in the object_selection but not in the tree or
@@ -27411,16 +25889,16 @@
  */

 #line 356 "root_numpy/src/tree.pyx"
-      __pyx_t_28 = __pyx_v_leaf_array->GetEntries();
+      __pyx_t_27 = __pyx_v_leaf_array->GetEntries();

 #line 356 "root_numpy/src/tree.pyx"
-      __pyx_t_32 = __pyx_t_28;
+      __pyx_t_31 = __pyx_t_27;

 #line 356 "root_numpy/src/tree.pyx"
-      for (__pyx_t_33 = 0; __pyx_t_33 < __pyx_t_32; __pyx_t_33+=1) {
+      for (__pyx_t_32 = 0; __pyx_t_32 < __pyx_t_31; __pyx_t_32+=1) {

 #line 356 "root_numpy/src/tree.pyx"
-        __pyx_v_ileaf = __pyx_t_33;
+        __pyx_v_ileaf = __pyx_t_32;

         /* "root_numpy/src/tree.pyx":357
  *
@@ -27453,16 +25931,16 @@
  */

 #line 359 "root_numpy/src/tree.pyx"
-        __pyx_t_35.__pyx_n = 1;
+        __pyx_t_34.__pyx_n = 1;

 #line 359 "root_numpy/src/tree.pyx"
-        __pyx_t_35.type_code = __pyx_v_type_code;
+        __pyx_t_34.type_code = __pyx_v_type_code;

 #line 359 "root_numpy/src/tree.pyx"
-        __pyx_t_34 = __pyx_f_13_librootnumpy_get_converter(__pyx_v_tleaf, &__pyx_t_35); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 359, __pyx_L9_error)
+        __pyx_t_33 = __pyx_f_13_librootnumpy_get_converter(__pyx_v_tleaf, &__pyx_t_34); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 359, __pyx_L9_error)

 #line 359 "root_numpy/src/tree.pyx"
-        __pyx_v_conv = __pyx_t_34;
+        __pyx_v_conv = __pyx_t_33;

         /* "root_numpy/src/tree.pyx":360
  *                 leaf_name = tleaf.GetName()
@@ -27490,7 +25968,7 @@
           try {

 #line 362 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = std::string(__pyx_v_branch_name);
+            __pyx_t_19 = std::string(__pyx_v_branch_name);

 #line 362 "root_numpy/src/tree.pyx"
           } catch(...) {
@@ -27505,7 +25983,7 @@
           }

 #line 362 "root_numpy/src/tree.pyx"
-          __pyx_v_column_name = __pyx_t_20;
+          __pyx_v_column_name = __pyx_t_19;

           /* "root_numpy/src/tree.pyx":363
  *                     # A converter exists for this leaf
@@ -27530,10 +26008,10 @@
  */

 #line 364 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b__33); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 364, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b__27); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 364, __pyx_L9_error)

 #line 364 "root_numpy/src/tree.pyx"
-            (void)(__pyx_v_column_name.append(((std::string)__pyx_t_20)));
+            (void)(__pyx_v_column_name.append(((std::string)__pyx_t_19)));

             /* "root_numpy/src/tree.pyx":365
  *                     if not shortname:
@@ -27600,28 +26078,28 @@
               __Pyx_GOTREF(__pyx_t_2);

 #line 371 "root_numpy/src/tree.pyx"
-              __pyx_t_29 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_column_name); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 371, __pyx_L9_error)
+              __pyx_t_13 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_column_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 371, __pyx_L9_error)

 #line 371 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_29);
+              __Pyx_GOTREF(__pyx_t_13);

 #line 371 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = NULL;
+              __pyx_t_10 = NULL;

 #line 371 "root_numpy/src/tree.pyx"
               if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {

 #line 371 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
+                __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_2);

 #line 371 "root_numpy/src/tree.pyx"
-                if (likely(__pyx_t_9)) {
+                if (likely(__pyx_t_10)) {

 #line 371 "root_numpy/src/tree.pyx"
                   PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_INCREF(__pyx_t_9);
+                  __Pyx_INCREF(__pyx_t_10);

 #line 371 "root_numpy/src/tree.pyx"
                   __Pyx_INCREF(function);
@@ -27636,109 +26114,19 @@
               }

 #line 371 "root_numpy/src/tree.pyx"
-              if (!__pyx_t_9) {
+              __pyx_t_9 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_10, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_13);

 #line 371 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_29); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 371, __pyx_L9_error)
+              __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 371 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 371 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
+              if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 371, __pyx_L9_error)

 #line 371 "root_numpy/src/tree.pyx"
-              } else {
-
-#line 371 "root_numpy/src/tree.pyx"
-                #if CYTHON_FAST_PYCALL
-
-#line 371 "root_numpy/src/tree.pyx"
-                if (PyFunction_Check(__pyx_t_2)) {
-
-#line 371 "root_numpy/src/tree.pyx"
-                  PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_29};
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 371, __pyx_L9_error)
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_14);
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
-
-#line 371 "root_numpy/src/tree.pyx"
-                } else
-
-#line 371 "root_numpy/src/tree.pyx"
-                #endif
-
-#line 371 "root_numpy/src/tree.pyx"
-                #if CYTHON_FAST_PYCCALL
-
-#line 371 "root_numpy/src/tree.pyx"
-                if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 371 "root_numpy/src/tree.pyx"
-                  PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_29};
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 371, __pyx_L9_error)
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_14);
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
-
-#line 371 "root_numpy/src/tree.pyx"
-                } else
-
-#line 371 "root_numpy/src/tree.pyx"
-                #endif
-
-#line 371 "root_numpy/src/tree.pyx"
-                {
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 371, __pyx_L9_error)
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_10);
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL;
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_GIVEREF(__pyx_t_29);
-
-#line 371 "root_numpy/src/tree.pyx"
-                  PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_t_29);
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __pyx_t_29 = 0;
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_10, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 371, __pyx_L9_error)
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_GOTREF(__pyx_t_14);
-
-#line 371 "root_numpy/src/tree.pyx"
-                  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 371 "root_numpy/src/tree.pyx"
-                }
-
-#line 371 "root_numpy/src/tree.pyx"
-              }
+              __Pyx_GOTREF(__pyx_t_9);

 #line 371 "root_numpy/src/tree.pyx"
               __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -27752,13 +26140,13 @@
  */

 #line 369 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 369, __pyx_L9_error)
+              __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 369, __pyx_L9_error)

 #line 369 "root_numpy/src/tree.pyx"
               __Pyx_GOTREF(__pyx_t_2);

 #line 369 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 369 "root_numpy/src/tree.pyx"
               __Pyx_Raise(__pyx_t_2, 0, 0, 0);
@@ -27856,16 +26244,16 @@
             __Pyx_GOTREF(__pyx_t_2);

 #line 382 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_14); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 382, __pyx_L9_error)
+            __pyx_t_9 = PyObject_RichCompare(__pyx_t_2, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 382, __pyx_L9_error)

 #line 382 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 382 "root_numpy/src/tree.pyx"
-            __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(2, 382, __pyx_L9_error)
+            __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(2, 382, __pyx_L9_error)

 #line 382 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 382 "root_numpy/src/tree.pyx"
             if (__pyx_t_1) {
@@ -27917,37 +26305,37 @@
  */

 #line 386 "root_numpy/src/tree.pyx"
-              __pyx_t_10 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_column_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 386, __pyx_L9_error)
+              __pyx_t_13 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_column_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 386, __pyx_L9_error)
+
+#line 386 "root_numpy/src/tree.pyx"
+              __Pyx_GOTREF(__pyx_t_13);
+
+#line 386 "root_numpy/src/tree.pyx"
+              __pyx_t_10 = __pyx_f_13_librootnumpy_resolve_type(__pyx_v_tleaf->GetTypeName()); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 386, __pyx_L9_error)

 #line 386 "root_numpy/src/tree.pyx"
               __Pyx_GOTREF(__pyx_t_10);

 #line 386 "root_numpy/src/tree.pyx"
-              __pyx_t_29 = __pyx_f_13_librootnumpy_resolve_type(__pyx_v_tleaf->GetTypeName()); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 386, __pyx_L9_error)
+              __pyx_t_8 = NULL;

 #line 386 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_29);
-
-#line 386 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = NULL;
-
-#line 386 "root_numpy/src/tree.pyx"
-              __pyx_t_36 = 0;
+              __pyx_t_35 = 0;

 #line 386 "root_numpy/src/tree.pyx"
               if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {

 #line 386 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
+                __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);

 #line 386 "root_numpy/src/tree.pyx"
-                if (likely(__pyx_t_9)) {
+                if (likely(__pyx_t_8)) {

 #line 386 "root_numpy/src/tree.pyx"
                   PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 386 "root_numpy/src/tree.pyx"
-                  __Pyx_INCREF(__pyx_t_9);
+                  __Pyx_INCREF(__pyx_t_8);

 #line 386 "root_numpy/src/tree.pyx"
                   __Pyx_INCREF(function);
@@ -27956,7 +26344,7 @@
                   __Pyx_DECREF_SET(__pyx_t_2, function);

 #line 386 "root_numpy/src/tree.pyx"
-                  __pyx_t_36 = 1;
+                  __pyx_t_35 = 1;

 #line 386 "root_numpy/src/tree.pyx"
                 }
@@ -27971,22 +26359,52 @@
               if (PyFunction_Check(__pyx_t_2)) {

 #line 386 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_10, __pyx_t_29};
+                PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_13, __pyx_t_10};

 #line 386 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_36, 2+__pyx_t_36); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 385, __pyx_L9_error)
+                __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_35, 2+__pyx_t_35); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 385, __pyx_L9_error)

 #line 386 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 386 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
+                __Pyx_GOTREF(__pyx_t_9);
+
+#line 386 "root_numpy/src/tree.pyx"
+                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 386 "root_numpy/src/tree.pyx"
                 __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 386 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+              } else
+
+#line 386 "root_numpy/src/tree.pyx"
+              #endif
+
+#line 386 "root_numpy/src/tree.pyx"
+              #if CYTHON_FAST_PYCCALL
+
+#line 386 "root_numpy/src/tree.pyx"
+              if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+
+#line 386 "root_numpy/src/tree.pyx"
+                PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_13, __pyx_t_10};
+
+#line 386 "root_numpy/src/tree.pyx"
+                __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_35, 2+__pyx_t_35); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 385, __pyx_L9_error)
+
+#line 386 "root_numpy/src/tree.pyx"
+                __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 386 "root_numpy/src/tree.pyx"
+                __Pyx_GOTREF(__pyx_t_9);
+
+#line 386 "root_numpy/src/tree.pyx"
+                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 386 "root_numpy/src/tree.pyx"
+                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 386 "root_numpy/src/tree.pyx"
               } else
@@ -27995,79 +26413,49 @@
               #endif

 #line 386 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
+              {

 #line 386 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+                __pyx_t_28 = PyTuple_New(2+__pyx_t_35); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 385, __pyx_L9_error)

 #line 386 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_10, __pyx_t_29};
+                __Pyx_GOTREF(__pyx_t_28);

 #line 386 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_36, 2+__pyx_t_36); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 385, __pyx_L9_error)
+                if (__pyx_t_8) {

 #line 386 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 386 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 386 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 386 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
-
-#line 386 "root_numpy/src/tree.pyx"
-              } else
-
-#line 386 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 386 "root_numpy/src/tree.pyx"
-              {
-
-#line 386 "root_numpy/src/tree.pyx"
-                __pyx_t_8 = PyTuple_New(2+__pyx_t_36); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 385, __pyx_L9_error)
-
-#line 386 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_8);
-
-#line 386 "root_numpy/src/tree.pyx"
-                if (__pyx_t_9) {
-
-#line 386 "root_numpy/src/tree.pyx"
-                  __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_9); __pyx_t_9 = NULL;
+                  __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_28, 0, __pyx_t_8); __pyx_t_8 = NULL;

 #line 386 "root_numpy/src/tree.pyx"
                 }

 #line 386 "root_numpy/src/tree.pyx"
+                __Pyx_GIVEREF(__pyx_t_13);
+
+#line 386 "root_numpy/src/tree.pyx"
+                PyTuple_SET_ITEM(__pyx_t_28, 0+__pyx_t_35, __pyx_t_13);
+
+#line 386 "root_numpy/src/tree.pyx"
                 __Pyx_GIVEREF(__pyx_t_10);

 #line 386 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_36, __pyx_t_10);
+                PyTuple_SET_ITEM(__pyx_t_28, 1+__pyx_t_35, __pyx_t_10);

 #line 386 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_29);
-
-#line 386 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_36, __pyx_t_29);
+                __pyx_t_13 = 0;

 #line 386 "root_numpy/src/tree.pyx"
                 __pyx_t_10 = 0;

 #line 386 "root_numpy/src/tree.pyx"
-                __pyx_t_29 = 0;
+                __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_28, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 385, __pyx_L9_error)

 #line 386 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 385, __pyx_L9_error)
+                __Pyx_GOTREF(__pyx_t_9);

 #line 386 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 386 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+                __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 386 "root_numpy/src/tree.pyx"
               }
@@ -28084,13 +26472,13 @@
  */

 #line 383 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 383, __pyx_L9_error)
+              __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_9); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 383, __pyx_L9_error)

 #line 383 "root_numpy/src/tree.pyx"
               __Pyx_GOTREF(__pyx_t_2);

 #line 383 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 383 "root_numpy/src/tree.pyx"
               __Pyx_Raise(__pyx_t_2, 0, 0, 0);
@@ -28127,13 +26515,13 @@
             __Pyx_GOTREF(__pyx_t_2);

 #line 387 "root_numpy/src/tree.pyx"
-            __pyx_t_37 = __Pyx_PyInt_As_unsigned_int(__pyx_t_2); if (unlikely((__pyx_t_37 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(2, 387, __pyx_L9_error)
+            __pyx_t_36 = __Pyx_PyInt_As_unsigned_int(__pyx_t_2); if (unlikely((__pyx_t_36 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(2, 387, __pyx_L9_error)

 #line 387 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 387 "root_numpy/src/tree.pyx"
-            __pyx_v_col->max_length = __pyx_t_37;
+            __pyx_v_col->max_length = __pyx_t_36;

             /* "root_numpy/src/tree.pyx":381
  *                     col.selector = selector
@@ -28299,7 +26687,7 @@
           try {

 #line 396 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = std::string(__pyx_v_branch_name);
+            __pyx_t_19 = std::string(__pyx_v_branch_name);

 #line 396 "root_numpy/src/tree.pyx"
           } catch(...) {
@@ -28317,7 +26705,7 @@
           try {

 #line 396 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = std::string(__pyx_v_leaf_name);
+            __pyx_t_37 = std::string(__pyx_v_leaf_name);

 #line 396 "root_numpy/src/tree.pyx"
           } catch(...) {
@@ -28340,7 +26728,7 @@
  */

 #line 397 "root_numpy/src/tree.pyx"
-          __pyx_v_chain->AddColumn(__pyx_t_20, __pyx_t_38, ((BranchColumn *)__pyx_v_col));
+          __pyx_v_chain->AddColumn(__pyx_t_19, __pyx_t_37, ((BranchColumn *)__pyx_v_col));

           /* "root_numpy/src/tree.pyx":360
  *                 leaf_name = tleaf.GetName()
@@ -28379,10 +26767,10 @@
  */

 #line 404 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cannot_convert_leaf_0_of_branch, __pyx_n_s_format); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 404, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cannot_convert_leaf_0_of_branch, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 404, __pyx_L9_error)

 #line 404 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

           /* "root_numpy/src/tree.pyx":405
  *                         "cannot convert leaf '{0}' of branch '{1}' "
@@ -28393,16 +26781,16 @@
  */

 #line 405 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 405, __pyx_L9_error)
+          __pyx_t_28 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 405, __pyx_L9_error)

 #line 405 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_8);
+          __Pyx_GOTREF(__pyx_t_28);

 #line 405 "root_numpy/src/tree.pyx"
-          __pyx_t_29 = __Pyx_PyStr_FromString(__pyx_v_leaf_name); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 405, __pyx_L9_error)
+          __pyx_t_10 = __Pyx_PyStr_FromString(__pyx_v_leaf_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 405, __pyx_L9_error)

 #line 405 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_29);
+          __Pyx_GOTREF(__pyx_t_10);

           /* "root_numpy/src/tree.pyx":406
  *                         "with type '{2}'".format(
@@ -28413,40 +26801,40 @@
  */

 #line 406 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = __pyx_f_13_librootnumpy_resolve_type(__pyx_v_tleaf->GetTypeName()); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 406, __pyx_L9_error)
+          __pyx_t_13 = __pyx_f_13_librootnumpy_resolve_type(__pyx_v_tleaf->GetTypeName()); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 406, __pyx_L9_error)

 #line 406 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_GOTREF(__pyx_t_13);

 #line 406 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = NULL;
+          __pyx_t_8 = NULL;

 #line 406 "root_numpy/src/tree.pyx"
-          __pyx_t_36 = 0;
+          __pyx_t_35 = 0;

 #line 406 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_14);
+            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);

 #line 406 "root_numpy/src/tree.pyx"
-            if (likely(__pyx_t_9)) {
+            if (likely(__pyx_t_8)) {

 #line 406 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 406 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_t_9);
+              __Pyx_INCREF(__pyx_t_8);

 #line 406 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(function);

 #line 406 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_14, function);
+              __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 406 "root_numpy/src/tree.pyx"
-              __pyx_t_36 = 1;
+              __pyx_t_35 = 1;

 #line 406 "root_numpy/src/tree.pyx"
             }
@@ -28458,30 +26846,30 @@
           #if CYTHON_FAST_PYCALL

 #line 406 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_14)) {
+          if (PyFunction_Check(__pyx_t_9)) {

 #line 406 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_8, __pyx_t_29, __pyx_t_10};
+            PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_28, __pyx_t_10, __pyx_t_13};

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_36, 3+__pyx_t_36); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 404, __pyx_L9_error)
+            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_35, 3+__pyx_t_35); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 404, __pyx_L9_error)

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 406 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_2);

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 406 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 406 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 406 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 406 "root_numpy/src/tree.pyx"
           } else

 #line 406 "root_numpy/src/tree.pyx"
@@ -28491,30 +26879,30 @@
           #if CYTHON_FAST_PYCCALL

 #line 406 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {

 #line 406 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_t_8, __pyx_t_29, __pyx_t_10};
+            PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_28, __pyx_t_10, __pyx_t_13};

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_36, 3+__pyx_t_36); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 404, __pyx_L9_error)
+            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_35, 3+__pyx_t_35); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 404, __pyx_L9_error)

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 406 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_2);

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 406 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 406 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 406 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 406 "root_numpy/src/tree.pyx"
           } else

 #line 406 "root_numpy/src/tree.pyx"
@@ -28524,61 +26912,61 @@
           {

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyTuple_New(3+__pyx_t_36); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 404, __pyx_L9_error)
+            __pyx_t_38 = PyTuple_New(3+__pyx_t_35); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 404, __pyx_L9_error)

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_11);
+            __Pyx_GOTREF(__pyx_t_38);

 #line 406 "root_numpy/src/tree.pyx"
-            if (__pyx_t_9) {
+            if (__pyx_t_8) {

 #line 406 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL;
+              __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_38, 0, __pyx_t_8); __pyx_t_8 = NULL;

 #line 406 "root_numpy/src/tree.pyx"
             }

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_8);
+            __Pyx_GIVEREF(__pyx_t_28);

 #line 406 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_36, __pyx_t_8);
-
-#line 406 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_29);
-
-#line 406 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_36, __pyx_t_29);
+            PyTuple_SET_ITEM(__pyx_t_38, 0+__pyx_t_35, __pyx_t_28);

 #line 406 "root_numpy/src/tree.pyx"
             __Pyx_GIVEREF(__pyx_t_10);

 #line 406 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_11, 2+__pyx_t_36, __pyx_t_10);
+            PyTuple_SET_ITEM(__pyx_t_38, 1+__pyx_t_35, __pyx_t_10);

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = 0;
+            __Pyx_GIVEREF(__pyx_t_13);

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_29 = 0;
+            PyTuple_SET_ITEM(__pyx_t_38, 2+__pyx_t_35, __pyx_t_13);
+
+#line 406 "root_numpy/src/tree.pyx"
+            __pyx_t_28 = 0;

 #line 406 "root_numpy/src/tree.pyx"
             __pyx_t_10 = 0;

 #line 406 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 404, __pyx_L9_error)
+            __pyx_t_13 = 0;
+
+#line 406 "root_numpy/src/tree.pyx"
+            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_38, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 404, __pyx_L9_error)

 #line 406 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_2);

 #line 406 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 406 "root_numpy/src/tree.pyx"
           }

 #line 406 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

           /* "root_numpy/src/tree.pyx":402
  *                     # User explicitly requested this branch but there is no
@@ -28589,19 +26977,19 @@
  */

 #line 402 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 402, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 402, __pyx_L9_error)

 #line 402 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 402 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 402 "root_numpy/src/tree.pyx"
-          __Pyx_Raise(__pyx_t_14, 0, 0, 0);
+          __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 402 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 402 "root_numpy/src/tree.pyx"
           __PYX_ERR(2, 402, __pyx_L9_error)
@@ -28629,16 +27017,16 @@
         /*else*/ {

 #line 409 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 409, __pyx_L9_error)
+          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_warnings); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 409, __pyx_L9_error)

 #line 409 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_2);

 #line 409 "root_numpy/src/tree.pyx"
-          __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 409, __pyx_L9_error)
+          __pyx_t_38 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_warn); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 409, __pyx_L9_error)

 #line 409 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_11);
+          __Pyx_GOTREF(__pyx_t_38);

 #line 409 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -28652,10 +27040,10 @@
  */

 #line 411 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cannot_convert_leaf_0_of_branch_2, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 411, __pyx_L9_error)
+          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_cannot_convert_leaf_0_of_branch_2, __pyx_n_s_format); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 411, __pyx_L9_error)

 #line 411 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_GOTREF(__pyx_t_13);

           /* "root_numpy/src/tree.pyx":412
  *                         "cannot convert leaf '{0}' of branch '{1}' "
@@ -28666,16 +27054,16 @@
  */

 #line 412 "root_numpy/src/tree.pyx"
-          __pyx_t_29 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 412, __pyx_L9_error)
+          __pyx_t_10 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 412, __pyx_L9_error)

 #line 412 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_29);
+          __Pyx_GOTREF(__pyx_t_10);

 #line 412 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = __Pyx_PyStr_FromString(__pyx_v_leaf_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 412, __pyx_L9_error)
+          __pyx_t_28 = __Pyx_PyStr_FromString(__pyx_v_leaf_name); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 412, __pyx_L9_error)

 #line 412 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_8);
+          __Pyx_GOTREF(__pyx_t_28);

           /* "root_numpy/src/tree.pyx":413
  *                         "with type '{2}' (skipping)".format(
@@ -28686,28 +27074,28 @@
  */

 #line 413 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __pyx_f_13_librootnumpy_resolve_type(__pyx_v_tleaf->GetTypeName()); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 413, __pyx_L9_error)
+          __pyx_t_8 = __pyx_f_13_librootnumpy_resolve_type(__pyx_v_tleaf->GetTypeName()); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 413, __pyx_L9_error)

 #line 413 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_8);

 #line 413 "root_numpy/src/tree.pyx"
           __pyx_t_39 = NULL;

 #line 413 "root_numpy/src/tree.pyx"
-          __pyx_t_36 = 0;
+          __pyx_t_35 = 0;

 #line 413 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {

 #line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_10);
+            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);

 #line 413 "root_numpy/src/tree.pyx"
             if (likely(__pyx_t_39)) {

 #line 413 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);

 #line 413 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(__pyx_t_39);
@@ -28716,10 +27104,10 @@
               __Pyx_INCREF(function);

 #line 413 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_10, function);
+              __Pyx_DECREF_SET(__pyx_t_13, function);

 #line 413 "root_numpy/src/tree.pyx"
-              __pyx_t_36 = 1;
+              __pyx_t_35 = 1;

 #line 413 "root_numpy/src/tree.pyx"
             }
@@ -28731,13 +27119,13 @@
           #if CYTHON_FAST_PYCALL

 #line 413 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_10)) {
+          if (PyFunction_Check(__pyx_t_13)) {

 #line 413 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_29, __pyx_t_8, __pyx_t_9};
+            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_10, __pyx_t_28, __pyx_t_8};

 #line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_36, 3+__pyx_t_36); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L9_error)
+            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_35, 3+__pyx_t_35); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L9_error)

 #line 413 "root_numpy/src/tree.pyx"
             __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
@@ -28746,13 +27134,46 @@
             __Pyx_GOTREF(__pyx_t_2);

 #line 413 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 413 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 413 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          } else
+
+#line 413 "root_numpy/src/tree.pyx"
+          #endif
+
+#line 413 "root_numpy/src/tree.pyx"
+          #if CYTHON_FAST_PYCCALL
+
+#line 413 "root_numpy/src/tree.pyx"
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
+
+#line 413 "root_numpy/src/tree.pyx"
+            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_10, __pyx_t_28, __pyx_t_8};
+
+#line 413 "root_numpy/src/tree.pyx"
+            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_35, 3+__pyx_t_35); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L9_error)
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_2);
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 413 "root_numpy/src/tree.pyx"
           } else
@@ -28761,97 +27182,64 @@
           #endif

 #line 413 "root_numpy/src/tree.pyx"
-          #if CYTHON_FAST_PYCCALL
+          {

 #line 413 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
+            __pyx_t_40 = PyTuple_New(3+__pyx_t_35); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 411, __pyx_L9_error)

 #line 413 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_29, __pyx_t_8, __pyx_t_9};
+            __Pyx_GOTREF(__pyx_t_40);

 #line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_36, 3+__pyx_t_36); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L9_error)
+            if (__pyx_t_39) {

 #line 413 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
+              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_39); __pyx_t_39 = NULL;
+
+#line 413 "root_numpy/src/tree.pyx"
+            }
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_t_10);
+
+#line 413 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_35, __pyx_t_10);
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_t_28);
+
+#line 413 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_35, __pyx_t_28);
+
+#line 413 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_t_8);
+
+#line 413 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_40, 2+__pyx_t_35, __pyx_t_8);
+
+#line 413 "root_numpy/src/tree.pyx"
+            __pyx_t_10 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __pyx_t_28 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __pyx_t_8 = 0;
+
+#line 413 "root_numpy/src/tree.pyx"
+            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_40, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L9_error)

 #line 413 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_2);

 #line 413 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 413 "root_numpy/src/tree.pyx"
-          } else
-
-#line 413 "root_numpy/src/tree.pyx"
-          #endif
-
-#line 413 "root_numpy/src/tree.pyx"
-          {
-
-#line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_40 = PyTuple_New(3+__pyx_t_36); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 411, __pyx_L9_error)
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_40);
-
-#line 413 "root_numpy/src/tree.pyx"
-            if (__pyx_t_39) {
-
-#line 413 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_39); __pyx_t_39 = NULL;
-
-#line 413 "root_numpy/src/tree.pyx"
-            }
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_29);
-
-#line 413 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_36, __pyx_t_29);
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_8);
-
-#line 413 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_36, __pyx_t_8);
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_9);
-
-#line 413 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_40, 2+__pyx_t_36, __pyx_t_9);
-
-#line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_29 = 0;
-
-#line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = 0;
-
-#line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = 0;
-
-#line 413 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_40, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 411, __pyx_L9_error)
-
-#line 413 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_2);
-
-#line 413 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 413 "root_numpy/src/tree.pyx"
           }

 #line 413 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

           /* "root_numpy/src/tree.pyx":414
  *                             branch_name, leaf_name,
@@ -28862,28 +27250,28 @@
  */

 #line 414 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_RootNumpyUnconvertibleWarning); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 414, __pyx_L9_error)
+          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_RootNumpyUnconvertibleWarning); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 414, __pyx_L9_error)

 #line 414 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_10);
+          __Pyx_GOTREF(__pyx_t_13);

 #line 414 "root_numpy/src/tree.pyx"
           __pyx_t_40 = NULL;

 #line 414 "root_numpy/src/tree.pyx"
-          __pyx_t_36 = 0;
+          __pyx_t_35 = 0;

 #line 414 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_38))) {

 #line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_11);
+            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_38);

 #line 414 "root_numpy/src/tree.pyx"
             if (likely(__pyx_t_40)) {

 #line 414 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_38);

 #line 414 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(__pyx_t_40);
@@ -28892,10 +27280,10 @@
               __Pyx_INCREF(function);

 #line 414 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_11, function);
+              __Pyx_DECREF_SET(__pyx_t_38, function);

 #line 414 "root_numpy/src/tree.pyx"
-              __pyx_t_36 = 1;
+              __pyx_t_35 = 1;

 #line 414 "root_numpy/src/tree.pyx"
             }
@@ -28907,25 +27295,25 @@
           #if CYTHON_FAST_PYCALL

 #line 414 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_11)) {
+          if (PyFunction_Check(__pyx_t_38)) {

 #line 414 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_t_2, __pyx_t_10};
+            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_t_2, __pyx_t_13};

 #line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_36, 2+__pyx_t_36); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 409, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_38, __pyx_temp+1-__pyx_t_35, 2+__pyx_t_35); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 409, __pyx_L9_error)

 #line 414 "root_numpy/src/tree.pyx"
             __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 414 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 414 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 414 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 414 "root_numpy/src/tree.pyx"
           } else
@@ -28937,25 +27325,25 @@
           #if CYTHON_FAST_PYCCALL

 #line 414 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_38)) {

 #line 414 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_t_2, __pyx_t_10};
+            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_t_2, __pyx_t_13};

 #line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_36, 2+__pyx_t_36); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 409, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_38, __pyx_temp+1-__pyx_t_35, 2+__pyx_t_35); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 409, __pyx_L9_error)

 #line 414 "root_numpy/src/tree.pyx"
             __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 414 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 414 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 414 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 414 "root_numpy/src/tree.pyx"
           } else
@@ -28967,55 +27355,55 @@
           {

 #line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = PyTuple_New(2+__pyx_t_36); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 409, __pyx_L9_error)
+            __pyx_t_8 = PyTuple_New(2+__pyx_t_35); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 409, __pyx_L9_error)
+
+#line 414 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 414 "root_numpy/src/tree.pyx"
+            if (__pyx_t_40) {
+
+#line 414 "root_numpy/src/tree.pyx"
+              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_40); __pyx_t_40 = NULL;
+
+#line 414 "root_numpy/src/tree.pyx"
+            }
+
+#line 414 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_t_2);
+
+#line 414 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_35, __pyx_t_2);
+
+#line 414 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_t_13);
+
+#line 414 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_35, __pyx_t_13);
+
+#line 414 "root_numpy/src/tree.pyx"
+            __pyx_t_2 = 0;
+
+#line 414 "root_numpy/src/tree.pyx"
+            __pyx_t_13 = 0;
+
+#line 414 "root_numpy/src/tree.pyx"
+            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_38, __pyx_t_8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 409, __pyx_L9_error)

 #line 414 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);

 #line 414 "root_numpy/src/tree.pyx"
-            if (__pyx_t_40) {
-
-#line 414 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_40); __pyx_t_40 = NULL;
-
-#line 414 "root_numpy/src/tree.pyx"
-            }
-
-#line 414 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_2);
-
-#line 414 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_36, __pyx_t_2);
-
-#line 414 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_10);
-
-#line 414 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_36, __pyx_t_10);
-
-#line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = 0;
-
-#line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = 0;
-
-#line 414 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_9, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 409, __pyx_L9_error)
-
-#line 414 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
-
-#line 414 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 414 "root_numpy/src/tree.pyx"
           }

 #line 414 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+          __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 414 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 414 "root_numpy/src/tree.pyx"
         }
@@ -29058,34 +27446,34 @@
  */

 #line 418 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch_dict, __pyx_n_s_keys); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 418, __pyx_L9_error)
+      __pyx_t_38 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch_dict, __pyx_n_s_keys); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 418 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = NULL;
+      __pyx_t_8 = NULL;

 #line 418 "root_numpy/src/tree.pyx"
-      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_38))) {

 #line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_11);
+        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_38);

 #line 418 "root_numpy/src/tree.pyx"
-        if (likely(__pyx_t_9)) {
+        if (likely(__pyx_t_8)) {

 #line 418 "root_numpy/src/tree.pyx"
-          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_38);

 #line 418 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_9);
+          __Pyx_INCREF(__pyx_t_8);

 #line 418 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(function);

 #line 418 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF_SET(__pyx_t_11, function);
+          __Pyx_DECREF_SET(__pyx_t_38, function);

 #line 418 "root_numpy/src/tree.pyx"
         }
@@ -29094,82 +27482,73 @@
       }

 #line 418 "root_numpy/src/tree.pyx"
-      if (__pyx_t_9) {
+      __pyx_t_9 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_38, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_38);

 #line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 418, __pyx_L9_error)
+      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 418 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
-      } else {
+      __Pyx_GOTREF(__pyx_t_9);

 #line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_PyObject_CallNoArg(__pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 418, __pyx_L9_error)
+      __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 418 "root_numpy/src/tree.pyx"
-      }
+      if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {

 #line 418 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_14);
+        __pyx_t_38 = __pyx_t_9; __Pyx_INCREF(__pyx_t_38); __pyx_t_4 = 0;

 #line 418 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 418 "root_numpy/src/tree.pyx"
-      if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
-
-#line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __pyx_t_14; __Pyx_INCREF(__pyx_t_11); __pyx_t_4 = 0;
-
-#line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_12 = NULL;
+        __pyx_t_11 = NULL;

 #line 418 "root_numpy/src/tree.pyx"
       } else {
         __pyx_t_4 = -1;
 #line 418 "root_numpy/src/tree.pyx"
-__pyx_t_11 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 418, __pyx_L9_error)
+__pyx_t_38 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
+        __Pyx_GOTREF(__pyx_t_38);

 #line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 418, __pyx_L9_error)
+        __pyx_t_11 = Py_TYPE(__pyx_t_38)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
       }

 #line 418 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 418 "root_numpy/src/tree.pyx"
       for (;;) {

 #line 418 "root_numpy/src/tree.pyx"
-        if (likely(!__pyx_t_12)) {
+        if (likely(!__pyx_t_11)) {

 #line 418 "root_numpy/src/tree.pyx"
-          if (likely(PyList_CheckExact(__pyx_t_11))) {
+          if (likely(PyList_CheckExact(__pyx_t_38))) {

 #line 418 "root_numpy/src/tree.pyx"
-            if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_11)) break;
+            if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_38)) break;

 #line 418 "root_numpy/src/tree.pyx"
             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 418 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_4); __Pyx_INCREF(__pyx_t_14); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 418, __pyx_L9_error)
+            __pyx_t_9 = PyList_GET_ITEM(__pyx_t_38, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
             #else

 #line 418 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = PySequence_ITEM(__pyx_t_11, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 418, __pyx_L9_error)
+            __pyx_t_9 = PySequence_ITEM(__pyx_t_38, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 418 "root_numpy/src/tree.pyx"
             #endif
@@ -29178,22 +27557,22 @@
           } else {

 #line 418 "root_numpy/src/tree.pyx"
-            if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
+            if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_38)) break;

 #line 418 "root_numpy/src/tree.pyx"
             #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 418 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_4); __Pyx_INCREF(__pyx_t_14); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 418, __pyx_L9_error)
+            __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_38, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
             #else

 #line 418 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = PySequence_ITEM(__pyx_t_11, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 418, __pyx_L9_error)
+            __pyx_t_9 = PySequence_ITEM(__pyx_t_38, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 418, __pyx_L9_error)

 #line 418 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 418 "root_numpy/src/tree.pyx"
             #endif
@@ -29205,10 +27584,10 @@
 {

 #line 418 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __pyx_t_12(__pyx_t_11);
+          __pyx_t_9 = __pyx_t_11(__pyx_t_38);

 #line 418 "root_numpy/src/tree.pyx"
-          if (unlikely(!__pyx_t_14)) {
+          if (unlikely(!__pyx_t_9)) {

 #line 418 "root_numpy/src/tree.pyx"
             PyObject* exc_type = PyErr_Occurred();
@@ -29232,16 +27611,16 @@
           }

 #line 418 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 418 "root_numpy/src/tree.pyx"
         }

 #line 418 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF_SET(__pyx_v_expression, __pyx_t_14);
+        __Pyx_XDECREF_SET(__pyx_v_expression, __pyx_t_9);

 #line 418 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = 0;
+        __pyx_t_9 = 0;

         /* "root_numpy/src/tree.pyx":419
  *             # Attempt to interpret remaining "branches" as expressions
@@ -29252,16 +27631,16 @@
  */

 #line 419 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_PyObject_GetItem(__pyx_v_branch_dict, __pyx_v_expression); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 419, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_v_branch_dict, __pyx_v_expression); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 419, __pyx_L9_error)

 #line 419 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 419 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF_SET(__pyx_v_branch_spec, __pyx_t_14);
+        __Pyx_DECREF_SET(__pyx_v_branch_spec, __pyx_t_9);

 #line 419 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = 0;
+        __pyx_t_9 = 0;

         /* "root_numpy/src/tree.pyx":420
  *             for expression in branch_dict.keys():
@@ -29272,19 +27651,19 @@
  */

 #line 420 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 420, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 420, __pyx_L9_error)

 #line 420 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 420 "root_numpy/src/tree.pyx"
-        __pyx_t_22 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_22 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 420, __pyx_L9_error)
+        __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(2, 420, __pyx_L9_error)

 #line 420 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 420 "root_numpy/src/tree.pyx"
-        __pyx_v_branch_idx = __pyx_t_22;
+        __pyx_v_branch_idx = __pyx_t_21;

         /* "root_numpy/src/tree.pyx":421
  *                 branch_spec = branch_dict[expression]
@@ -29369,139 +27748,55 @@
  */

 #line 427 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_the_branch_or_expression_0_is_no, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 427, __pyx_L9_error)
+          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_the_branch_or_expression_0_is_no, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 427, __pyx_L9_error)
+
+#line 427 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_8);
+
+#line 427 "root_numpy/src/tree.pyx"
+          __pyx_t_13 = NULL;
+
+#line 427 "root_numpy/src/tree.pyx"
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+
+#line 427 "root_numpy/src/tree.pyx"
+            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
+
+#line 427 "root_numpy/src/tree.pyx"
+            if (likely(__pyx_t_13)) {
+
+#line 427 "root_numpy/src/tree.pyx"
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 427 "root_numpy/src/tree.pyx"
+              __Pyx_INCREF(__pyx_t_13);
+
+#line 427 "root_numpy/src/tree.pyx"
+              __Pyx_INCREF(function);
+
+#line 427 "root_numpy/src/tree.pyx"
+              __Pyx_DECREF_SET(__pyx_t_8, function);
+
+#line 427 "root_numpy/src/tree.pyx"
+            }
+
+#line 427 "root_numpy/src/tree.pyx"
+          }
+
+#line 427 "root_numpy/src/tree.pyx"
+          __pyx_t_9 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_v_expression) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_expression);
+
+#line 427 "root_numpy/src/tree.pyx"
+          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 427 "root_numpy/src/tree.pyx"
+          if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 427, __pyx_L9_error)

 #line 427 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_9);

 #line 427 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = NULL;
-
-#line 427 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
-
-#line 427 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
-
-#line 427 "root_numpy/src/tree.pyx"
-            if (likely(__pyx_t_10)) {
-
-#line 427 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_t_10);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(function);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_9, function);
-
-#line 427 "root_numpy/src/tree.pyx"
-            }
-
-#line 427 "root_numpy/src/tree.pyx"
-          }
-
-#line 427 "root_numpy/src/tree.pyx"
-          if (!__pyx_t_10) {
-
-#line 427 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_expression); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 427, __pyx_L9_error)
-
-#line 427 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
-
-#line 427 "root_numpy/src/tree.pyx"
-          } else {
-
-#line 427 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCALL
-
-#line 427 "root_numpy/src/tree.pyx"
-            if (PyFunction_Check(__pyx_t_9)) {
-
-#line 427 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_expression};
-
-#line 427 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 427, __pyx_L9_error)
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_14);
-
-#line 427 "root_numpy/src/tree.pyx"
-            } else
-
-#line 427 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 427 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCCALL
-
-#line 427 "root_numpy/src/tree.pyx"
-            if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 427 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_v_expression};
-
-#line 427 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 427, __pyx_L9_error)
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_14);
-
-#line 427 "root_numpy/src/tree.pyx"
-            } else
-
-#line 427 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 427 "root_numpy/src/tree.pyx"
-            {
-
-#line 427 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 427, __pyx_L9_error)
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_2);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_v_expression);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_v_expression);
-
-#line 427 "root_numpy/src/tree.pyx"
-              PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_expression);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 427, __pyx_L9_error)
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_14);
-
-#line 427 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 427 "root_numpy/src/tree.pyx"
-            }
-
-#line 427 "root_numpy/src/tree.pyx"
-          }
-
-#line 427 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

           /* "root_numpy/src/tree.pyx":425
  *                 if formula == NULL or formula.GetNdim() == 0:
@@ -29512,19 +27807,19 @@
  */

 #line 425 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_14); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 425, __pyx_L9_error)
+          __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 425, __pyx_L9_error)

 #line 425 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
-
-#line 425 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 425 "root_numpy/src/tree.pyx"
-          __Pyx_Raise(__pyx_t_9, 0, 0, 0);
+          __Pyx_GOTREF(__pyx_t_8);

 #line 425 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 425 "root_numpy/src/tree.pyx"
+          __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+
+#line 425 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 425 "root_numpy/src/tree.pyx"
           __PYX_ERR(2, 425, __pyx_L9_error)
@@ -29574,10 +27869,10 @@
  */

 #line 434 "root_numpy/src/tree.pyx"
-          __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 434, __pyx_L9_error)
+          __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 434, __pyx_L9_error)

 #line 434 "root_numpy/src/tree.pyx"
-          __pyx_v_selector_map_it = __pyx_v_selector_map.find(__pyx_t_38);
+          __pyx_v_selector_map_it = __pyx_v_selector_map.find(__pyx_t_37);

           /* "root_numpy/src/tree.pyx":435
  *                     # Find selector for this expression if present
@@ -29602,10 +27897,10 @@
  */

 #line 436 "root_numpy/src/tree.pyx"
-            __pyx_t_31 = (*__pyx_v_selector_map_it).second;
+            __pyx_t_30 = (*__pyx_v_selector_map_it).second;

 #line 436 "root_numpy/src/tree.pyx"
-            __pyx_v_selector = __pyx_t_31;
+            __pyx_v_selector = __pyx_t_30;

             /* "root_numpy/src/tree.pyx":440
  *                         # present in the object_selection but not in the tree or
@@ -29700,13 +27995,13 @@
  */

 #line 455 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 455, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 455, __pyx_L9_error)

 #line 455 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Int_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 455, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Int_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 455, __pyx_L9_error)

 #line 455 "root_numpy/src/tree.pyx"
-            __pyx_v_col = new FormulaColumn<int> (__pyx_t_38, __pyx_t_20, __pyx_v_formula);
+            __pyx_v_col = new FormulaColumn<int> (__pyx_t_37, __pyx_t_19, __pyx_v_formula);

             /* "root_numpy/src/tree.pyx":456
  *                     if formula.IsInteger(False):
@@ -29717,10 +28012,10 @@
  */

 #line 456 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_int); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 456, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_int); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 456, __pyx_L9_error)

 #line 456 "root_numpy/src/tree.pyx"
-            __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_20);
+            __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_19);

             /* "root_numpy/src/tree.pyx":454
  *                 if formula.GetMultiplicity() == 0:
@@ -29748,13 +28043,13 @@
           /*else*/ {

 #line 458 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 458, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 458, __pyx_L9_error)

 #line 458 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Double_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 458, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Double_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 458, __pyx_L9_error)

 #line 458 "root_numpy/src/tree.pyx"
-            __pyx_v_col = new FormulaColumn<double> (__pyx_t_20, __pyx_t_38, __pyx_v_formula);
+            __pyx_v_col = new FormulaColumn<double> (__pyx_t_19, __pyx_t_37, __pyx_v_formula);

             /* "root_numpy/src/tree.pyx":459
  *                     else:
@@ -29765,10 +28060,10 @@
  */

 #line 459 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_double); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 459, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_double); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 459, __pyx_L9_error)

 #line 459 "root_numpy/src/tree.pyx"
-            __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_38);
+            __pyx_v_conv = __pyx_f_13_librootnumpy_find_converter_by_typename(__pyx_t_37);

 #line 459 "root_numpy/src/tree.pyx"
           }
@@ -29799,34 +28094,34 @@
  */

 #line 463 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_attempting_to_apply_selection_on_2, __pyx_n_s_format); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 463, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_attempting_to_apply_selection_on_2, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 463, __pyx_L9_error)

 #line 463 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_GOTREF(__pyx_t_9);

 #line 463 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = NULL;
+            __pyx_t_13 = NULL;

 #line 463 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 463 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
+              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);

 #line 463 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_2)) {
+              if (likely(__pyx_t_13)) {

 #line 463 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 463 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_2);
+                __Pyx_INCREF(__pyx_t_13);

 #line 463 "root_numpy/src/tree.pyx"
                 __Pyx_INCREF(function);

 #line 463 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_14, function);
+                __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 463 "root_numpy/src/tree.pyx"
               }
@@ -29835,103 +28130,19 @@
             }

 #line 463 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_2) {
+            __pyx_t_8 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_v_expression) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_expression);

 #line 463 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_expression); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 463, __pyx_L9_error)
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 463 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_9);
+            if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 463, __pyx_L9_error)

 #line 463 "root_numpy/src/tree.pyx"
-            } else {
+            __Pyx_GOTREF(__pyx_t_8);

 #line 463 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 463 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_14)) {
-
-#line 463 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_expression};
-
-#line 463 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 463, __pyx_L9_error)
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
-
-#line 463 "root_numpy/src/tree.pyx"
-              } else
-
-#line 463 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 463 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 463 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
-
-#line 463 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_expression};
-
-#line 463 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 463, __pyx_L9_error)
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
-
-#line 463 "root_numpy/src/tree.pyx"
-              } else
-
-#line 463 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 463 "root_numpy/src/tree.pyx"
-              {
-
-#line 463 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = PyTuple_New(1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 463, __pyx_L9_error)
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_10);
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_2); __pyx_t_2 = NULL;
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_v_expression);
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_v_expression);
-
-#line 463 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_10, 0+1, __pyx_v_expression);
-
-#line 463 "root_numpy/src/tree.pyx"
-                __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 463, __pyx_L9_error)
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_9);
-
-#line 463 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 463 "root_numpy/src/tree.pyx"
-              }
-
-#line 463 "root_numpy/src/tree.pyx"
-            }
-
-#line 463 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

             /* "root_numpy/src/tree.pyx":461
  *                         conv = find_converter_by_typename('double')
@@ -29942,19 +28153,19 @@
  */

 #line 461 "root_numpy/src/tree.pyx"
-            __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 461, __pyx_L9_error)
+            __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 461, __pyx_L9_error)

 #line 461 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_14);
+            __Pyx_GOTREF(__pyx_t_9);
+
+#line 461 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 461 "root_numpy/src/tree.pyx"
+            __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 461 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 461 "root_numpy/src/tree.pyx"
-            __Pyx_Raise(__pyx_t_14, 0, 0, 0);
-
-#line 461 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 461 "root_numpy/src/tree.pyx"
             __PYX_ERR(2, 461, __pyx_L9_error)
@@ -30045,13 +28256,13 @@
  */

 #line 467 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 467, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 467, __pyx_L9_error)

 #line 467 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Int_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 467, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Int_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 467, __pyx_L9_error)

 #line 467 "root_numpy/src/tree.pyx"
-            __pyx_v_col = new FormulaArrayColumn<int> (__pyx_t_38, __pyx_t_20, __pyx_v_formula);
+            __pyx_v_col = new FormulaArrayColumn<int> (__pyx_t_37, __pyx_t_19, __pyx_v_formula);

             /* "root_numpy/src/tree.pyx":468
  *                     if formula.IsInteger(False):
@@ -30062,10 +28273,10 @@
  */

 #line 468 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_int); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 468, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_int); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 468, __pyx_L9_error)

 #line 468 "root_numpy/src/tree.pyx"
-            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_20, __pyx_kp_s__5);
+            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_19, __pyx_kp_s__5);

             /* "root_numpy/src/tree.pyx":466
  *                 elif formula.GetMultiplicity() == -1 or formula.GetMultiplicity() == 1:
@@ -30093,13 +28304,13 @@
           /*else*/ {

 #line 470 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 470, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 470, __pyx_L9_error)

 #line 470 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Double_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 470, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Double_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 470, __pyx_L9_error)

 #line 470 "root_numpy/src/tree.pyx"
-            __pyx_v_col = new FormulaArrayColumn<double> (__pyx_t_20, __pyx_t_38, __pyx_v_formula);
+            __pyx_v_col = new FormulaArrayColumn<double> (__pyx_t_19, __pyx_t_37, __pyx_v_formula);

             /* "root_numpy/src/tree.pyx":471
  *                     else:
@@ -30110,10 +28321,10 @@
  */

 #line 471 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_double); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 471, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_double); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 471, __pyx_L9_error)

 #line 471 "root_numpy/src/tree.pyx"
-            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_38, __pyx_kp_s__5);
+            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_37, __pyx_kp_s__5);

 #line 471 "root_numpy/src/tree.pyx"
           }
@@ -30172,13 +28383,13 @@
  */

 #line 476 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 476, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 476, __pyx_L9_error)

 #line 476 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Int_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 476, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Int_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 476, __pyx_L9_error)

 #line 476 "root_numpy/src/tree.pyx"
-            __pyx_v_col = new FormulaFixedArrayColumn<int> (__pyx_t_38, __pyx_t_20, __pyx_v_formula);
+            __pyx_v_col = new FormulaFixedArrayColumn<int> (__pyx_t_37, __pyx_t_19, __pyx_v_formula);

             /* "root_numpy/src/tree.pyx":477
  *                     if formula.IsInteger(False):
@@ -30189,163 +28400,73 @@
  */

 #line 477 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_int); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 477, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_int); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 477, __pyx_L9_error)

 #line 477 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_d, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 477, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_d, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 477, __pyx_L9_error)
+
+#line 477 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 477 "root_numpy/src/tree.pyx"
+            __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_formula->GetNdata()); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 477, __pyx_L9_error)
+
+#line 477 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_13);
+
+#line 477 "root_numpy/src/tree.pyx"
+            __pyx_t_2 = NULL;
+
+#line 477 "root_numpy/src/tree.pyx"
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+
+#line 477 "root_numpy/src/tree.pyx"
+              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
+
+#line 477 "root_numpy/src/tree.pyx"
+              if (likely(__pyx_t_2)) {
+
+#line 477 "root_numpy/src/tree.pyx"
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 477 "root_numpy/src/tree.pyx"
+                __Pyx_INCREF(__pyx_t_2);
+
+#line 477 "root_numpy/src/tree.pyx"
+                __Pyx_INCREF(function);
+
+#line 477 "root_numpy/src/tree.pyx"
+                __Pyx_DECREF_SET(__pyx_t_8, function);
+
+#line 477 "root_numpy/src/tree.pyx"
+              }
+
+#line 477 "root_numpy/src/tree.pyx"
+            }
+
+#line 477 "root_numpy/src/tree.pyx"
+            __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_13);
+
+#line 477 "root_numpy/src/tree.pyx"
+            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 477 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 477 "root_numpy/src/tree.pyx"
+            if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 477, __pyx_L9_error)

 #line 477 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);

 #line 477 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_formula->GetNdata()); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 477, __pyx_L9_error)
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 477 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_10);
-
-#line 477 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = NULL;
-
-#line 477 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
-
-#line 477 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);
-
-#line 477 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_2)) {
-
-#line 477 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_2);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(function);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_9, function);
-
-#line 477 "root_numpy/src/tree.pyx"
-              }
-
-#line 477 "root_numpy/src/tree.pyx"
-            }
-
-#line 477 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_2) {
-
-#line 477 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 477, __pyx_L9_error)
-
-#line 477 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_14);
-
-#line 477 "root_numpy/src/tree.pyx"
-            } else {
-
-#line 477 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 477 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_9)) {
-
-#line 477 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_10};
-
-#line 477 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 477, __pyx_L9_error)
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-              } else
-
-#line 477 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 477 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 477 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 477 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_t_10};
-
-#line 477 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 477, __pyx_L9_error)
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-              } else
-
-#line 477 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 477 "root_numpy/src/tree.pyx"
-              {
-
-#line 477 "root_numpy/src/tree.pyx"
-                __pyx_t_40 = PyTuple_New(1+1); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 477, __pyx_L9_error)
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_40);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_2); __pyx_t_2 = NULL;
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_10);
-
-#line 477 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_40, 0+1, __pyx_t_10);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_40, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 477, __pyx_L9_error)
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 477 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-              }
-
-#line 477 "root_numpy/src/tree.pyx"
-            }
+            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_19, __pyx_t_9);

 #line 477 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 477 "root_numpy/src/tree.pyx"
-            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_20, __pyx_t_14);
-
-#line 477 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

             /* "root_numpy/src/tree.pyx":475
  *                 else:
@@ -30373,13 +28494,13 @@
           /*else*/ {

 #line 479 "root_numpy/src/tree.pyx"
-            __pyx_t_20 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 479, __pyx_L9_error)
+            __pyx_t_19 = __pyx_convert_string_from_py_std__in_string(__pyx_v_expression); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 479, __pyx_L9_error)

 #line 479 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Double_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 479, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_Double_t); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 479, __pyx_L9_error)

 #line 479 "root_numpy/src/tree.pyx"
-            __pyx_v_col = new FormulaFixedArrayColumn<double> (__pyx_t_20, __pyx_t_38, __pyx_v_formula);
+            __pyx_v_col = new FormulaFixedArrayColumn<double> (__pyx_t_19, __pyx_t_37, __pyx_v_formula);

             /* "root_numpy/src/tree.pyx":480
  *                     else:
@@ -30390,163 +28511,73 @@
  */

 #line 480 "root_numpy/src/tree.pyx"
-            __pyx_t_38 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_double); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 480, __pyx_L9_error)
+            __pyx_t_37 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_double); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 480, __pyx_L9_error)

 #line 480 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_d, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 480, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_d, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 480, __pyx_L9_error)
+
+#line 480 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 480 "root_numpy/src/tree.pyx"
+            __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_formula->GetNdata()); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 480, __pyx_L9_error)
+
+#line 480 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_13);
+
+#line 480 "root_numpy/src/tree.pyx"
+            __pyx_t_2 = NULL;
+
+#line 480 "root_numpy/src/tree.pyx"
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+
+#line 480 "root_numpy/src/tree.pyx"
+              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
+
+#line 480 "root_numpy/src/tree.pyx"
+              if (likely(__pyx_t_2)) {
+
+#line 480 "root_numpy/src/tree.pyx"
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 480 "root_numpy/src/tree.pyx"
+                __Pyx_INCREF(__pyx_t_2);
+
+#line 480 "root_numpy/src/tree.pyx"
+                __Pyx_INCREF(function);
+
+#line 480 "root_numpy/src/tree.pyx"
+                __Pyx_DECREF_SET(__pyx_t_8, function);
+
+#line 480 "root_numpy/src/tree.pyx"
+              }
+
+#line 480 "root_numpy/src/tree.pyx"
+            }
+
+#line 480 "root_numpy/src/tree.pyx"
+            __pyx_t_9 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_2, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_13);
+
+#line 480 "root_numpy/src/tree.pyx"
+            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 480 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 480 "root_numpy/src/tree.pyx"
+            if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 480, __pyx_L9_error)

 #line 480 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);

 #line 480 "root_numpy/src/tree.pyx"
-            __pyx_t_40 = __Pyx_PyInt_From_int(__pyx_v_formula->GetNdata()); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 480, __pyx_L9_error)
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 480 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_40);
-
-#line 480 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = NULL;
-
-#line 480 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
-
-#line 480 "root_numpy/src/tree.pyx"
-              __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
-
-#line 480 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_10)) {
-
-#line 480 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_10);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(function);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_9, function);
-
-#line 480 "root_numpy/src/tree.pyx"
-              }
-
-#line 480 "root_numpy/src/tree.pyx"
-            }
-
-#line 480 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_10) {
-
-#line 480 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 480, __pyx_L9_error)
-
-#line 480 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_14);
-
-#line 480 "root_numpy/src/tree.pyx"
-            } else {
-
-#line 480 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 480 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_9)) {
-
-#line 480 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_40};
-
-#line 480 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 480, __pyx_L9_error)
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-              } else
-
-#line 480 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 480 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 480 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 480 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_40};
-
-#line 480 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 480, __pyx_L9_error)
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-              } else
-
-#line 480 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 480 "root_numpy/src/tree.pyx"
-              {
-
-#line 480 "root_numpy/src/tree.pyx"
-                __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 480, __pyx_L9_error)
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_2);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_40);
-
-#line 480 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_40);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __pyx_t_40 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 480, __pyx_L9_error)
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 480 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-              }
-
-#line 480 "root_numpy/src/tree.pyx"
-            }
+            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_37, __pyx_t_9);

 #line 480 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 480 "root_numpy/src/tree.pyx"
-            __pyx_v_conv = __pyx_f_13_librootnumpy_get_array_converter(__pyx_t_38, __pyx_t_14);
-
-#line 480 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 480 "root_numpy/src/tree.pyx"
           }
@@ -30577,139 +28608,55 @@
  */

 #line 484 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_attempting_to_apply_selection_on_2, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 484, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_attempting_to_apply_selection_on_2, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 484, __pyx_L9_error)
+
+#line 484 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 484 "root_numpy/src/tree.pyx"
+            __pyx_t_13 = NULL;
+
+#line 484 "root_numpy/src/tree.pyx"
+            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+
+#line 484 "root_numpy/src/tree.pyx"
+              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
+
+#line 484 "root_numpy/src/tree.pyx"
+              if (likely(__pyx_t_13)) {
+
+#line 484 "root_numpy/src/tree.pyx"
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 484 "root_numpy/src/tree.pyx"
+                __Pyx_INCREF(__pyx_t_13);
+
+#line 484 "root_numpy/src/tree.pyx"
+                __Pyx_INCREF(function);
+
+#line 484 "root_numpy/src/tree.pyx"
+                __Pyx_DECREF_SET(__pyx_t_8, function);
+
+#line 484 "root_numpy/src/tree.pyx"
+              }
+
+#line 484 "root_numpy/src/tree.pyx"
+            }
+
+#line 484 "root_numpy/src/tree.pyx"
+            __pyx_t_9 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_13, __pyx_v_expression) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_expression);
+
+#line 484 "root_numpy/src/tree.pyx"
+            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 484 "root_numpy/src/tree.pyx"
+            if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 484, __pyx_L9_error)

 #line 484 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_9);

 #line 484 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = NULL;
-
-#line 484 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
-
-#line 484 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);
-
-#line 484 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_2)) {
-
-#line 484 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_2);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(function);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_9, function);
-
-#line 484 "root_numpy/src/tree.pyx"
-              }
-
-#line 484 "root_numpy/src/tree.pyx"
-            }
-
-#line 484 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_2) {
-
-#line 484 "root_numpy/src/tree.pyx"
-              __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_expression); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 484, __pyx_L9_error)
-
-#line 484 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_14);
-
-#line 484 "root_numpy/src/tree.pyx"
-            } else {
-
-#line 484 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 484 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_9)) {
-
-#line 484 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_expression};
-
-#line 484 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 484, __pyx_L9_error)
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 484 "root_numpy/src/tree.pyx"
-              } else
-
-#line 484 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 484 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 484 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 484 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_expression};
-
-#line 484 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 484, __pyx_L9_error)
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 484 "root_numpy/src/tree.pyx"
-              } else
-
-#line 484 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 484 "root_numpy/src/tree.pyx"
-              {
-
-#line 484 "root_numpy/src/tree.pyx"
-                __pyx_t_40 = PyTuple_New(1+1); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 484, __pyx_L9_error)
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_40);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_2); __pyx_t_2 = NULL;
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_v_expression);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_v_expression);
-
-#line 484 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_40, 0+1, __pyx_v_expression);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_40, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 484, __pyx_L9_error)
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_14);
-
-#line 484 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 484 "root_numpy/src/tree.pyx"
-              }
-
-#line 484 "root_numpy/src/tree.pyx"
-            }
-
-#line 484 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

             /* "root_numpy/src/tree.pyx":482
  *                         conv = get_array_converter('double', '[{0:d}]'.format(formula.GetNdata()))
@@ -30720,19 +28667,19 @@
  */

 #line 482 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_14); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 482, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 482, __pyx_L9_error)

 #line 482 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
-
-#line 482 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 482 "root_numpy/src/tree.pyx"
-            __Pyx_Raise(__pyx_t_9, 0, 0, 0);
+            __Pyx_GOTREF(__pyx_t_8);

 #line 482 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 482 "root_numpy/src/tree.pyx"
+            __Pyx_Raise(__pyx_t_8, 0, 0, 0);
+
+#line 482 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 482 "root_numpy/src/tree.pyx"
             __PYX_ERR(2, 482, __pyx_L9_error)
@@ -30777,34 +28724,34 @@
  */

 #line 489 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_could_not_find_a_formula_convert, __pyx_n_s_format); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 489, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_could_not_find_a_formula_convert, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 489, __pyx_L9_error)

 #line 489 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 489 "root_numpy/src/tree.pyx"
-          __pyx_t_40 = NULL;
+          __pyx_t_13 = NULL;

 #line 489 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 489 "root_numpy/src/tree.pyx"
-            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
+            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_9);

 #line 489 "root_numpy/src/tree.pyx"
-            if (likely(__pyx_t_40)) {
+            if (likely(__pyx_t_13)) {

 #line 489 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 489 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_t_40);
+              __Pyx_INCREF(__pyx_t_13);

 #line 489 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(function);

 #line 489 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_14, function);
+              __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 489 "root_numpy/src/tree.pyx"
             }
@@ -30813,103 +28760,19 @@
           }

 #line 489 "root_numpy/src/tree.pyx"
-          if (!__pyx_t_40) {
+          __pyx_t_8 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_13, __pyx_v_expression) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_v_expression);

 #line 489 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_expression); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 489, __pyx_L9_error)
+          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 489 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
+          if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 489, __pyx_L9_error)

 #line 489 "root_numpy/src/tree.pyx"
-          } else {
+          __Pyx_GOTREF(__pyx_t_8);

 #line 489 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCALL
-
-#line 489 "root_numpy/src/tree.pyx"
-            if (PyFunction_Check(__pyx_t_14)) {
-
-#line 489 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_40, __pyx_v_expression};
-
-#line 489 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 489, __pyx_L9_error)
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_9);
-
-#line 489 "root_numpy/src/tree.pyx"
-            } else
-
-#line 489 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 489 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCCALL
-
-#line 489 "root_numpy/src/tree.pyx"
-            if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
-
-#line 489 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_40, __pyx_v_expression};
-
-#line 489 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 489, __pyx_L9_error)
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_9);
-
-#line 489 "root_numpy/src/tree.pyx"
-            } else
-
-#line 489 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 489 "root_numpy/src/tree.pyx"
-            {
-
-#line 489 "root_numpy/src/tree.pyx"
-              __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 489, __pyx_L9_error)
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_2);
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_40); __pyx_t_40 = NULL;
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_v_expression);
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_v_expression);
-
-#line 489 "root_numpy/src/tree.pyx"
-              PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_expression);
-
-#line 489 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_2, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 489, __pyx_L9_error)
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_9);
-
-#line 489 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 489 "root_numpy/src/tree.pyx"
-            }
-
-#line 489 "root_numpy/src/tree.pyx"
-          }
-
-#line 489 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

           /* "root_numpy/src/tree.pyx":487
  *                 if conv == NULL:
@@ -30920,19 +28783,19 @@
  */

 #line 487 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AssertionError, __pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 487, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_AssertionError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 487, __pyx_L9_error)

 #line 487 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);
+
+#line 487 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 487 "root_numpy/src/tree.pyx"
+          __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 487 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 487 "root_numpy/src/tree.pyx"
-          __Pyx_Raise(__pyx_t_14, 0, 0, 0);
-
-#line 487 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 487 "root_numpy/src/tree.pyx"
           __PYX_ERR(2, 487, __pyx_L9_error)
@@ -30957,22 +28820,22 @@
  */

 #line 491 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_branch_spec, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 491, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 491, __pyx_L9_error)

 #line 491 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 491 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = PyObject_RichCompare(__pyx_t_14, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 491, __pyx_L9_error)
-
-#line 491 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 491 "root_numpy/src/tree.pyx"
-        __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(2, 491, __pyx_L9_error)
+        __pyx_t_8 = PyObject_RichCompare(__pyx_t_9, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 491, __pyx_L9_error)

 #line 491 "root_numpy/src/tree.pyx"
         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 491 "root_numpy/src/tree.pyx"
+        __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(2, 491, __pyx_L9_error)
+
+#line 491 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 491 "root_numpy/src/tree.pyx"
         if (__pyx_t_1) {
@@ -31010,10 +28873,10 @@
  */

 #line 494 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_unable_to_truncate_column_0_with, __pyx_n_s_format); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 494, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_unable_to_truncate_column_0_with, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 494, __pyx_L9_error)

 #line 494 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);

           /* "root_numpy/src/tree.pyx":495
  *                         "unable to truncate column '{0}' "
@@ -31024,40 +28887,40 @@
  */

 #line 495 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_formula->GetMultiplicity()); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 495, __pyx_L9_error)
+          __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_formula->GetMultiplicity()); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 495, __pyx_L9_error)

 #line 495 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_GOTREF(__pyx_t_13);

 #line 495 "root_numpy/src/tree.pyx"
-          __pyx_t_40 = NULL;
+          __pyx_t_2 = NULL;

 #line 495 "root_numpy/src/tree.pyx"
-          __pyx_t_22 = 0;
+          __pyx_t_21 = 0;

 #line 495 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 495 "root_numpy/src/tree.pyx"
-            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
+            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_9);

 #line 495 "root_numpy/src/tree.pyx"
-            if (likely(__pyx_t_40)) {
+            if (likely(__pyx_t_2)) {

 #line 495 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 495 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_t_40);
+              __Pyx_INCREF(__pyx_t_2);

 #line 495 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(function);

 #line 495 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_14, function);
+              __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 495 "root_numpy/src/tree.pyx"
-              __pyx_t_22 = 1;
+              __pyx_t_21 = 1;

 #line 495 "root_numpy/src/tree.pyx"
             }
@@ -31069,22 +28932,22 @@
           #if CYTHON_FAST_PYCALL

 #line 495 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_14)) {
+          if (PyFunction_Check(__pyx_t_9)) {

 #line 495 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_v_expression, __pyx_t_2};
+            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_expression, __pyx_t_13};

 #line 495 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_22, 2+__pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 494, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_21, 2+__pyx_t_21); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 494, __pyx_L9_error)

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
+            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_GOTREF(__pyx_t_8);

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 495 "root_numpy/src/tree.pyx"
           } else
@@ -31096,22 +28959,22 @@
           #if CYTHON_FAST_PYCCALL

 #line 495 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {

 #line 495 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_v_expression, __pyx_t_2};
+            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_expression, __pyx_t_13};

 #line 495 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_22, 2+__pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 494, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_21, 2+__pyx_t_21); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 494, __pyx_L9_error)

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
+            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_GOTREF(__pyx_t_8);

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 495 "root_numpy/src/tree.pyx"
           } else
@@ -31123,16 +28986,16 @@
           {

 #line 495 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = PyTuple_New(2+__pyx_t_22); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 494, __pyx_L9_error)
+            __pyx_t_40 = PyTuple_New(2+__pyx_t_21); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 494, __pyx_L9_error)

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_10);
+            __Pyx_GOTREF(__pyx_t_40);

 #line 495 "root_numpy/src/tree.pyx"
-            if (__pyx_t_40) {
+            if (__pyx_t_2) {

 #line 495 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_40); __pyx_t_40 = NULL;
+              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_2); __pyx_t_2 = NULL;

 #line 495 "root_numpy/src/tree.pyx"
             }
@@ -31144,31 +29007,31 @@
             __Pyx_GIVEREF(__pyx_v_expression);

 #line 495 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_22, __pyx_v_expression);
+            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_21, __pyx_v_expression);

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_2);
+            __Pyx_GIVEREF(__pyx_t_13);

 #line 495 "root_numpy/src/tree.pyx"
-            PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_22, __pyx_t_2);
+            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_21, __pyx_t_13);

 #line 495 "root_numpy/src/tree.pyx"
-            __pyx_t_2 = 0;
+            __pyx_t_13 = 0;

 #line 495 "root_numpy/src/tree.pyx"
-            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_10, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 494, __pyx_L9_error)
+            __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_40, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 494, __pyx_L9_error)

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_9);
+            __Pyx_GOTREF(__pyx_t_8);

 #line 495 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 495 "root_numpy/src/tree.pyx"
           }

 #line 495 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

           /* "root_numpy/src/tree.pyx":492
  *
@@ -31179,19 +29042,19 @@
  */

 #line 492 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_9); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 492, __pyx_L9_error)
+          __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_TypeError, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 492, __pyx_L9_error)

 #line 492 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_14);
+          __Pyx_GOTREF(__pyx_t_9);
+
+#line 492 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 492 "root_numpy/src/tree.pyx"
+          __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 492 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 492 "root_numpy/src/tree.pyx"
-          __Pyx_Raise(__pyx_t_14, 0, 0, 0);
-
-#line 492 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 492 "root_numpy/src/tree.pyx"
           __PYX_ERR(2, 492, __pyx_L9_error)
@@ -31216,19 +29079,19 @@
  */

 #line 496 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_branch_spec, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 496, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_branch_spec, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 496, __pyx_L9_error)

 #line 496 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 496 "root_numpy/src/tree.pyx"
-        __pyx_t_37 = __Pyx_PyInt_As_unsigned_int(__pyx_t_14); if (unlikely((__pyx_t_37 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(2, 496, __pyx_L9_error)
+        __pyx_t_36 = __Pyx_PyInt_As_unsigned_int(__pyx_t_9); if (unlikely((__pyx_t_36 == (unsigned int)-1) && PyErr_Occurred())) __PYX_ERR(2, 496, __pyx_L9_error)

 #line 496 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 496 "root_numpy/src/tree.pyx"
-        __pyx_v_col->max_length = __pyx_t_37;
+        __pyx_v_col->max_length = __pyx_t_36;

         /* "root_numpy/src/tree.pyx":498
  *                 col.max_length = branch_spec[1]
@@ -31294,7 +29157,7 @@
       }

 #line 418 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

       /* "root_numpy/src/tree.pyx":502
  *
@@ -31305,16 +29168,16 @@
  */

 #line 502 "root_numpy/src/tree.pyx"
-      __pyx_t_22 = __pyx_v_num_requested_branches;
+      __pyx_t_21 = __pyx_v_num_requested_branches;

 #line 502 "root_numpy/src/tree.pyx"
-      __pyx_t_23 = __pyx_t_22;
+      __pyx_t_22 = __pyx_t_21;

 #line 502 "root_numpy/src/tree.pyx"
-      for (__pyx_t_24 = 0; __pyx_t_24 < __pyx_t_23; __pyx_t_24+=1) {
+      for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) {

 #line 502 "root_numpy/src/tree.pyx"
-        __pyx_v_branch_idx = __pyx_t_24;
+        __pyx_v_branch_idx = __pyx_t_23;

         /* "root_numpy/src/tree.pyx":503
  *             # Flatten buckets into 1D vectors, thus preserving branch order
@@ -31408,16 +29271,16 @@
  */

 #line 511 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 511, __pyx_L9_error)
+      __pyx_t_38 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__28, NULL); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 511, __pyx_L9_error)

 #line 511 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 511 "root_numpy/src/tree.pyx"
-      __Pyx_Raise(__pyx_t_11, 0, 0, 0);
+      __Pyx_Raise(__pyx_t_38, 0, 0, 0);

 #line 511 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 511 "root_numpy/src/tree.pyx"
       __PYX_ERR(2, 511, __pyx_L9_error)
@@ -31459,16 +29322,16 @@
  */

 #line 514 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 514, __pyx_L9_error)
+      __pyx_t_38 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__29, NULL); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 514, __pyx_L9_error)

 #line 514 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 514 "root_numpy/src/tree.pyx"
-      __Pyx_Raise(__pyx_t_11, 0, 0, 0);
+      __Pyx_Raise(__pyx_t_38, 0, 0, 0);

 #line 514 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 514 "root_numpy/src/tree.pyx"
       __PYX_ERR(2, 514, __pyx_L9_error)
@@ -31504,16 +29367,16 @@
  */

 #line 523 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = PyList_New(0); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 523, __pyx_L9_error)
+    __pyx_t_38 = PyList_New(0); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 523, __pyx_L9_error)

 #line 523 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_GOTREF(__pyx_t_38);

 #line 523 "root_numpy/src/tree.pyx"
-    __pyx_v_dtype_fields = ((PyObject*)__pyx_t_11);
+    __pyx_v_dtype_fields = ((PyObject*)__pyx_t_38);

 #line 523 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = 0;
+    __pyx_t_38 = 0;

     /* "root_numpy/src/tree.pyx":524
  *         # make an appropriate array structure
@@ -31544,46 +29407,46 @@
  */

 #line 525 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __pyx_convert_PyStr_string_to_py_std__in_string((__pyx_v_columns[__pyx_v_icol])->name); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 525, __pyx_L9_error)
+      __pyx_t_38 = __pyx_convert_PyStr_string_to_py_std__in_string((__pyx_v_columns[__pyx_v_icol])->name); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 525, __pyx_L9_error)

 #line 525 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 525 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = (__pyx_v_converters[__pyx_v_icol])->get_dtype((__pyx_v_columns[__pyx_v_icol])); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 525, __pyx_L9_error)
-
-#line 525 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_14);
-
-#line 525 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 525, __pyx_L9_error)
+      __pyx_t_9 = (__pyx_v_converters[__pyx_v_icol])->get_dtype((__pyx_v_columns[__pyx_v_icol])); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 525, __pyx_L9_error)

 #line 525 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_9);

 #line 525 "root_numpy/src/tree.pyx"
-      __Pyx_GIVEREF(__pyx_t_11);
+      __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 525, __pyx_L9_error)

 #line 525 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_8);

 #line 525 "root_numpy/src/tree.pyx"
-      __Pyx_GIVEREF(__pyx_t_14);
+      __Pyx_GIVEREF(__pyx_t_38);

 #line 525 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_14);
+      PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_38);

 #line 525 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = 0;
+      __Pyx_GIVEREF(__pyx_t_9);

 #line 525 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = 0;
+      PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_9);

 #line 525 "root_numpy/src/tree.pyx"
-      __pyx_t_30 = __Pyx_PyList_Append(__pyx_v_dtype_fields, __pyx_t_9); if (unlikely(__pyx_t_30 == ((int)-1))) __PYX_ERR(2, 525, __pyx_L9_error)
+      __pyx_t_38 = 0;

 #line 525 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __pyx_t_9 = 0;
+
+#line 525 "root_numpy/src/tree.pyx"
+      __pyx_t_29 = __Pyx_PyList_Append(__pyx_v_dtype_fields, __pyx_t_8); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 525, __pyx_L9_error)
+
+#line 525 "root_numpy/src/tree.pyx"
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 525 "root_numpy/src/tree.pyx"
     }
@@ -31611,46 +29474,46 @@
  */

 #line 527 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_weight_name); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 527, __pyx_L9_error)
+      __pyx_t_8 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_weight_name); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 527, __pyx_L9_error)
+
+#line 527 "root_numpy/src/tree.pyx"
+      __Pyx_GOTREF(__pyx_t_8);
+
+#line 527 "root_numpy/src/tree.pyx"
+      __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__30, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 527, __pyx_L9_error)

 #line 527 "root_numpy/src/tree.pyx"
       __Pyx_GOTREF(__pyx_t_9);

 #line 527 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = __Pyx_PyObject_Call(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 527, __pyx_L9_error)
+      __pyx_t_38 = PyTuple_New(2); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 527, __pyx_L9_error)

 #line 527 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_14);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 527 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 527, __pyx_L9_error)
+      __Pyx_GIVEREF(__pyx_t_8);

 #line 527 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      PyTuple_SET_ITEM(__pyx_t_38, 0, __pyx_t_8);

 #line 527 "root_numpy/src/tree.pyx"
       __Pyx_GIVEREF(__pyx_t_9);

 #line 527 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9);
+      PyTuple_SET_ITEM(__pyx_t_38, 1, __pyx_t_9);

 #line 527 "root_numpy/src/tree.pyx"
-      __Pyx_GIVEREF(__pyx_t_14);
-
-#line 527 "root_numpy/src/tree.pyx"
-      PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_14);
+      __pyx_t_8 = 0;

 #line 527 "root_numpy/src/tree.pyx"
       __pyx_t_9 = 0;

 #line 527 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = 0;
+      __pyx_t_29 = __Pyx_PyList_Append(__pyx_v_dtype_fields, __pyx_t_38); if (unlikely(__pyx_t_29 == ((int)-1))) __PYX_ERR(2, 527, __pyx_L9_error)

 #line 527 "root_numpy/src/tree.pyx"
-      __pyx_t_30 = __Pyx_PyList_Append(__pyx_v_dtype_fields, __pyx_t_11); if (unlikely(__pyx_t_30 == ((int)-1))) __PYX_ERR(2, 527, __pyx_L9_error)
-
-#line 527 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

       /* "root_numpy/src/tree.pyx":526
  *         for icol in range(columns.size()):
@@ -31672,16 +29535,16 @@
  */

 #line 528 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_v_dtype_fields); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 528, __pyx_L9_error)
+    __pyx_t_38 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_5numpy_dtype), __pyx_v_dtype_fields); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 528, __pyx_L9_error)

 #line 528 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_GOTREF(__pyx_t_38);

 #line 528 "root_numpy/src/tree.pyx"
-    __pyx_v_dtype = __pyx_t_11;
+    __pyx_v_dtype = __pyx_t_38;

 #line 528 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = 0;
+    __pyx_t_38 = 0;

     /* "root_numpy/src/tree.pyx":531
  *
@@ -31692,49 +29555,49 @@
  */

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_14 = PySlice_New(__pyx_v_start, __pyx_v_stop, __pyx_v_step); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 531, __pyx_L9_error)
-
-#line 531 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_14);
-
-#line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_indices); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 531, __pyx_L9_error)
+    __pyx_t_9 = PySlice_New(__pyx_v_start, __pyx_v_stop, __pyx_v_step); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 531, __pyx_L9_error)

 #line 531 "root_numpy/src/tree.pyx"
     __Pyx_GOTREF(__pyx_t_9);

 #line 531 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_indices); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 531, __pyx_L9_error)

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_14 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 531, __pyx_L9_error)
+    __Pyx_GOTREF(__pyx_t_8);

 #line 531 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_14);
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_10 = NULL;
+    __pyx_t_9 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 531, __pyx_L9_error)

 #line 531 "root_numpy/src/tree.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+    __Pyx_GOTREF(__pyx_t_9);

 #line 531 "root_numpy/src/tree.pyx"
-      __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9);
+    __pyx_t_40 = NULL;

 #line 531 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_10)) {
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 531 "root_numpy/src/tree.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+      __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_8);

 #line 531 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_10);
+      if (likely(__pyx_t_40)) {
+
+#line 531 "root_numpy/src/tree.pyx"
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+
+#line 531 "root_numpy/src/tree.pyx"
+        __Pyx_INCREF(__pyx_t_40);

 #line 531 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);

 #line 531 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF_SET(__pyx_t_9, function);
+        __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 531 "root_numpy/src/tree.pyx"
       }
@@ -31743,136 +29606,46 @@
     }

 #line 531 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_10) {
+    __pyx_t_38 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_40, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9);

 #line 531 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_14); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 531, __pyx_L9_error)
-
-#line 531 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
-
-#line 531 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 531 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 531 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_9)) {
-
-#line 531 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_14};
-
-#line 531 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 531, __pyx_L9_error)
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-      } else
-
-#line 531 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 531 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 531 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 531 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_10, __pyx_t_14};
-
-#line 531 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 531, __pyx_L9_error)
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-      } else
-
-#line 531 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 531 "root_numpy/src/tree.pyx"
-      {
-
-#line 531 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 531, __pyx_L9_error)
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_10); __pyx_t_10 = NULL;
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_14);
-
-#line 531 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_t_14);
-
-#line 531 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 531, __pyx_L9_error)
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 531 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 531 "root_numpy/src/tree.pyx"
-      }
-
-#line 531 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 531 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = __Pyx_PySequence_Tuple(__pyx_t_11); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 531, __pyx_L9_error)
+    if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 531, __pyx_L9_error)

 #line 531 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_GOTREF(__pyx_t_38);

 #line 531 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_9, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 531, __pyx_L9_error)
+    __pyx_t_8 = __Pyx_PySequence_Tuple(__pyx_t_38); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 531, __pyx_L9_error)

 #line 531 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_GOTREF(__pyx_t_8);

 #line 531 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_v_indices = __pyx_t_11;
+    __pyx_t_38 = __Pyx_PyObject_Call(__pyx_builtin_xrange, __pyx_t_8, NULL); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 531, __pyx_L9_error)

 #line 531 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = 0;
+    __Pyx_GOTREF(__pyx_t_38);
+
+#line 531 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 531 "root_numpy/src/tree.pyx"
+    __pyx_v_indices = __pyx_t_38;
+
+#line 531 "root_numpy/src/tree.pyx"
+    __pyx_t_38 = 0;

     /* "root_numpy/src/tree.pyx":532
  *         # Determine indices in slice
@@ -31906,16 +29679,16 @@
       __Pyx_PyThreadState_assign

 #line 535 "root_numpy/src/tree.pyx"
-      __Pyx_ExceptionSave(&__pyx_t_27, &__pyx_t_26, &__pyx_t_25);
-
-#line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XGOTREF(__pyx_t_27);
+      __Pyx_ExceptionSave(&__pyx_t_26, &__pyx_t_25, &__pyx_t_24);

 #line 535 "root_numpy/src/tree.pyx"
       __Pyx_XGOTREF(__pyx_t_26);

 #line 535 "root_numpy/src/tree.pyx"
       __Pyx_XGOTREF(__pyx_t_25);
+
+#line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XGOTREF(__pyx_t_24);

 #line 535 "root_numpy/src/tree.pyx"
       /*try:*/ {
@@ -31929,73 +29702,73 @@
  */

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 536, __pyx_L92_error)
+        __Pyx_GetModuleGlobalName(__pyx_t_38, __pyx_n_s_np); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 536, __pyx_L92_error)

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
+        __Pyx_GOTREF(__pyx_t_38);

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_empty); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 536, __pyx_L92_error)
+        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_38, __pyx_n_s_empty); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 536, __pyx_L92_error)
+
+#line 536 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_8);
+
+#line 536 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;
+
+#line 536 "root_numpy/src/tree.pyx"
+        __pyx_t_38 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 536, __pyx_L92_error)
+
+#line 536 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_38);
+
+#line 536 "root_numpy/src/tree.pyx"
+        __pyx_t_9 = PyTuple_New(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 536, __pyx_L92_error)

 #line 536 "root_numpy/src/tree.pyx"
         __Pyx_GOTREF(__pyx_t_9);

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+        __Pyx_GIVEREF(__pyx_t_38);

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 536, __pyx_L92_error)
+        PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_38);

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
+        __pyx_t_38 = 0;

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 536, __pyx_L92_error)
+        __pyx_t_38 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 536, __pyx_L92_error)

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_38);

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_11);
+        if (PyDict_SetItem(__pyx_t_38, __pyx_n_s_dtype, __pyx_v_dtype) < 0) __PYX_ERR(2, 536, __pyx_L92_error)

 #line 536 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_11);
+        __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, __pyx_t_38); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 536, __pyx_L92_error)

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = 0;
+        __Pyx_GOTREF(__pyx_t_40);

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 536, __pyx_L92_error)
-
-#line 536 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 536 "root_numpy/src/tree.pyx"
-        if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_dtype, __pyx_v_dtype) < 0) __PYX_ERR(2, 536, __pyx_L92_error)
-
-#line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_2, __pyx_t_11); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 536, __pyx_L92_error)
-
-#line 536 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 536 "root_numpy/src/tree.pyx"
         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 536 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+        if (!(likely(((__pyx_t_40) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_40, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(2, 536, __pyx_L92_error)

 #line 536 "root_numpy/src/tree.pyx"
-        if (!(likely(((__pyx_t_14) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(2, 536, __pyx_L92_error)
+        __pyx_v_arr = ((PyArrayObject *)__pyx_t_40);

 #line 536 "root_numpy/src/tree.pyx"
-        __pyx_v_arr = ((PyArrayObject *)__pyx_t_14);
-
-#line 536 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = 0;
+        __pyx_t_40 = 0;

         /* "root_numpy/src/tree.pyx":535
  *
@@ -32009,15 +29782,15 @@
       }

 #line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_27); __pyx_t_27 = 0;
-
-#line 535 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_26); __pyx_t_26 = 0;

 #line 535 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_25); __pyx_t_25 = 0;

 #line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_24); __pyx_t_24 = 0;
+
+#line 535 "root_numpy/src/tree.pyx"
       goto __pyx_L97_try_end;

 #line 535 "root_numpy/src/tree.pyx"
@@ -32027,28 +29800,28 @@
       __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;

 #line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+
+#line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 535 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+
+#line 535 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
+
+#line 535 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
-
-#line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;

       /* "root_numpy/src/tree.pyx":537
  *         try:
@@ -32059,25 +29832,25 @@
  */

 #line 537 "root_numpy/src/tree.pyx"
-      __pyx_t_22 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_MemoryError);
+      __pyx_t_21 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_MemoryError);

 #line 537 "root_numpy/src/tree.pyx"
-      if (__pyx_t_22) {
+      if (__pyx_t_21) {

 #line 537 "root_numpy/src/tree.pyx"
         __Pyx_AddTraceback("_librootnumpy.tree2array", __pyx_clineno, __pyx_lineno, __pyx_filename);

 #line 537 "root_numpy/src/tree.pyx"
-        if (__Pyx_GetException(&__pyx_t_14, &__pyx_t_11, &__pyx_t_2) < 0) __PYX_ERR(2, 537, __pyx_L94_except_error)
+        if (__Pyx_GetException(&__pyx_t_40, &__pyx_t_38, &__pyx_t_9) < 0) __PYX_ERR(2, 537, __pyx_L94_except_error)

 #line 537 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_40);

 #line 537 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
+        __Pyx_GOTREF(__pyx_t_38);

 #line 537 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_9);

         /* "root_numpy/src/tree.pyx":539
  *         except MemoryError:
@@ -32088,10 +29861,10 @@
  */

 #line 539 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_failed_to_allocate_memory_for_0, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 539, __pyx_L94_except_error)
+        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_failed_to_allocate_memory_for_0, __pyx_n_s_format); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 539, __pyx_L94_except_error)

 #line 539 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_GOTREF(__pyx_t_13);

         /* "root_numpy/src/tree.pyx":540
  *             # Raise a more informative exception
@@ -32102,73 +29875,73 @@
  */

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_dtype, __pyx_n_s_itemsize); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_40);
+        __Pyx_GOTREF(__pyx_t_2);

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_28 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_8);
+        __Pyx_GOTREF(__pyx_t_28);

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_29 = PyNumber_Multiply(__pyx_t_40, __pyx_t_8); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_10 = PyNumber_Multiply(__pyx_t_2, __pyx_t_28); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_29);
+        __Pyx_GOTREF(__pyx_t_10);

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+        __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_45 = __Pyx_PyInt_As_long(__pyx_t_29); if (unlikely((__pyx_t_45 == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_45 = __Pyx_PyInt_As_long(__pyx_t_10); if (unlikely((__pyx_t_45 == (long)-1) && PyErr_Occurred())) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_29 = __pyx_f_13_librootnumpy_humanize_bytes(__pyx_t_45, NULL); if (unlikely(!__pyx_t_29)) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_10 = __pyx_f_13_librootnumpy_humanize_bytes(__pyx_t_45, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_29);
+        __Pyx_GOTREF(__pyx_t_10);

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_28 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries); if (unlikely(!__pyx_t_28)) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_8);
+        __Pyx_GOTREF(__pyx_t_28);

 #line 540 "root_numpy/src/tree.pyx"
         __pyx_t_4 = PyList_GET_SIZE(__pyx_v_dtype_fields); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_40 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 540, __pyx_L94_except_error)
+        __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 540, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_40);
+        __Pyx_GOTREF(__pyx_t_2);

 #line 540 "root_numpy/src/tree.pyx"
         __pyx_t_39 = NULL;

 #line 540 "root_numpy/src/tree.pyx"
-        __pyx_t_22 = 0;
+        __pyx_t_21 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_10);
+          __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);

 #line 540 "root_numpy/src/tree.pyx"
           if (likely(__pyx_t_39)) {

 #line 540 "root_numpy/src/tree.pyx"
-            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);

 #line 540 "root_numpy/src/tree.pyx"
             __Pyx_INCREF(__pyx_t_39);
@@ -32177,10 +29950,10 @@
             __Pyx_INCREF(function);

 #line 540 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF_SET(__pyx_t_10, function);
+            __Pyx_DECREF_SET(__pyx_t_13, function);

 #line 540 "root_numpy/src/tree.pyx"
-            __pyx_t_22 = 1;
+            __pyx_t_21 = 1;

 #line 540 "root_numpy/src/tree.pyx"
           }
@@ -32192,28 +29965,28 @@
         #if CYTHON_FAST_PYCALL

 #line 540 "root_numpy/src/tree.pyx"
-        if (PyFunction_Check(__pyx_t_10)) {
+        if (PyFunction_Check(__pyx_t_13)) {

 #line 540 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_29, __pyx_t_8, __pyx_t_40};
+          PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_10, __pyx_t_28, __pyx_t_2};

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_22, 3+__pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 539, __pyx_L94_except_error)
+          __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_21, 3+__pyx_t_21); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 539, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_8);

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 540 "root_numpy/src/tree.pyx"
         } else
@@ -32225,28 +29998,28 @@
         #if CYTHON_FAST_PYCCALL

 #line 540 "root_numpy/src/tree.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {

 #line 540 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_29, __pyx_t_8, __pyx_t_40};
+          PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_t_10, __pyx_t_28, __pyx_t_2};

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_22, 3+__pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 539, __pyx_L94_except_error)
+          __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_21, 3+__pyx_t_21); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 539, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_8);

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_29); __pyx_t_29 = 0;
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          __Pyx_DECREF(__pyx_t_28); __pyx_t_28 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 540 "root_numpy/src/tree.pyx"
         } else
@@ -32258,7 +30031,7 @@
         {

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_46 = PyTuple_New(3+__pyx_t_22); if (unlikely(!__pyx_t_46)) __PYX_ERR(2, 539, __pyx_L94_except_error)
+          __pyx_t_46 = PyTuple_New(3+__pyx_t_21); if (unlikely(!__pyx_t_46)) __PYX_ERR(2, 539, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_46);
@@ -32273,37 +30046,37 @@
           }

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_29);
+          __Pyx_GIVEREF(__pyx_t_10);

 #line 540 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_46, 0+__pyx_t_22, __pyx_t_29);
+          PyTuple_SET_ITEM(__pyx_t_46, 0+__pyx_t_21, __pyx_t_10);

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_8);
+          __Pyx_GIVEREF(__pyx_t_28);

 #line 540 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_46, 1+__pyx_t_22, __pyx_t_8);
+          PyTuple_SET_ITEM(__pyx_t_46, 1+__pyx_t_21, __pyx_t_28);

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_40);
+          __Pyx_GIVEREF(__pyx_t_2);

 #line 540 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_46, 2+__pyx_t_22, __pyx_t_40);
+          PyTuple_SET_ITEM(__pyx_t_46, 2+__pyx_t_21, __pyx_t_2);

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_29 = 0;
+          __pyx_t_10 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = 0;
+          __pyx_t_28 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_40 = 0;
+          __pyx_t_2 = 0;

 #line 540 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_46, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 539, __pyx_L94_except_error)
+          __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_46, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 539, __pyx_L94_except_error)

 #line 540 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
+          __Pyx_GOTREF(__pyx_t_8);

 #line 540 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_46); __pyx_t_46 = 0;
@@ -32312,7 +30085,7 @@
         }

 #line 540 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

         /* "root_numpy/src/tree.pyx":539
  *         except MemoryError:
@@ -32323,19 +30096,19 @@
  */

 #line 539 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 539, __pyx_L94_except_error)
+        __pyx_t_13 = __Pyx_PyObject_CallOneArg(__pyx_builtin_MemoryError, __pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 539, __pyx_L94_except_error)

 #line 539 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_GOTREF(__pyx_t_13);

 #line 539 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 539 "root_numpy/src/tree.pyx"
-        __Pyx_Raise(__pyx_t_10, 0, 0, 0);
+        __Pyx_Raise(__pyx_t_13, 0, 0, 0);

 #line 539 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 539 "root_numpy/src/tree.pyx"
         __PYX_ERR(2, 539, __pyx_L94_except_error)
@@ -32358,16 +30131,16 @@
  */

 #line 535 "root_numpy/src/tree.pyx"
-      __Pyx_XGIVEREF(__pyx_t_27);
-
-#line 535 "root_numpy/src/tree.pyx"
       __Pyx_XGIVEREF(__pyx_t_26);

 #line 535 "root_numpy/src/tree.pyx"
       __Pyx_XGIVEREF(__pyx_t_25);

 #line 535 "root_numpy/src/tree.pyx"
-      __Pyx_ExceptionReset(__pyx_t_27, __pyx_t_26, __pyx_t_25);
+      __Pyx_XGIVEREF(__pyx_t_24);
+
+#line 535 "root_numpy/src/tree.pyx"
+      __Pyx_ExceptionReset(__pyx_t_26, __pyx_t_25, __pyx_t_24);

 #line 535 "root_numpy/src/tree.pyx"
       goto __pyx_L9_error;
@@ -32387,34 +30160,34 @@
  */

 #line 543 "root_numpy/src/tree.pyx"
-    __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch_defaults, __pyx_n_s_items); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 543, __pyx_L9_error)
+    __pyx_t_38 = __Pyx_PyObject_GetAttrStr(__pyx_v_branch_defaults, __pyx_n_s_items); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_11);
+    __Pyx_GOTREF(__pyx_t_38);

 #line 543 "root_numpy/src/tree.pyx"
-    __pyx_t_14 = NULL;
+    __pyx_t_40 = NULL;

 #line 543 "root_numpy/src/tree.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_38))) {

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_11);
+      __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_38);

 #line 543 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_14)) {
+      if (likely(__pyx_t_40)) {

 #line 543 "root_numpy/src/tree.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_38);

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_14);
+        __Pyx_INCREF(__pyx_t_40);

 #line 543 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF_SET(__pyx_t_11, function);
+        __Pyx_DECREF_SET(__pyx_t_38, function);

 #line 543 "root_numpy/src/tree.pyx"
       }
@@ -32423,82 +30196,73 @@
     }

 #line 543 "root_numpy/src/tree.pyx"
-    if (__pyx_t_14) {
+    __pyx_t_9 = (__pyx_t_40) ? __Pyx_PyObject_CallOneArg(__pyx_t_38, __pyx_t_40) : __Pyx_PyObject_CallNoArg(__pyx_t_38);

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 543, __pyx_L9_error)
+    __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 543 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+    if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_9);

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_t_11); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 543, __pyx_L9_error)
+    __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 543 "root_numpy/src/tree.pyx"
-    }
+    if (likely(PyList_CheckExact(__pyx_t_9)) || PyTuple_CheckExact(__pyx_t_9)) {

 #line 543 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+      __pyx_t_38 = __pyx_t_9; __Pyx_INCREF(__pyx_t_38); __pyx_t_4 = 0;

 #line 543 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 543 "root_numpy/src/tree.pyx"
-    if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
-
-#line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __pyx_t_2; __Pyx_INCREF(__pyx_t_11); __pyx_t_4 = 0;
-
-#line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_12 = NULL;
+      __pyx_t_11 = NULL;

 #line 543 "root_numpy/src/tree.pyx"
     } else {
       __pyx_t_4 = -1;
 #line 543 "root_numpy/src/tree.pyx"
-__pyx_t_11 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 543, __pyx_L9_error)
+__pyx_t_38 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 543, __pyx_L9_error)
+      __pyx_t_11 = Py_TYPE(__pyx_t_38)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
     }

 #line 543 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 543 "root_numpy/src/tree.pyx"
     for (;;) {

 #line 543 "root_numpy/src/tree.pyx"
-      if (likely(!__pyx_t_12)) {
+      if (likely(!__pyx_t_11)) {

 #line 543 "root_numpy/src/tree.pyx"
-        if (likely(PyList_CheckExact(__pyx_t_11))) {
+        if (likely(PyList_CheckExact(__pyx_t_38))) {

 #line 543 "root_numpy/src/tree.pyx"
-          if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_11)) break;
+          if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_38)) break;

 #line 543 "root_numpy/src/tree.pyx"
           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 543, __pyx_L9_error)
+          __pyx_t_9 = PyList_GET_ITEM(__pyx_t_38, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
           #else

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PySequence_ITEM(__pyx_t_11, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 543, __pyx_L9_error)
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_38, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 543 "root_numpy/src/tree.pyx"
           #endif
@@ -32507,22 +30271,22 @@
         } else {

 #line 543 "root_numpy/src/tree.pyx"
-          if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
+          if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_38)) break;

 #line 543 "root_numpy/src/tree.pyx"
           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 543, __pyx_L9_error)
+          __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_38, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
           #else

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PySequence_ITEM(__pyx_t_11, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 543, __pyx_L9_error)
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_38, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 543 "root_numpy/src/tree.pyx"
           #endif
@@ -32534,10 +30298,10 @@
 {

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __pyx_t_12(__pyx_t_11);
+        __pyx_t_9 = __pyx_t_11(__pyx_t_38);

 #line 543 "root_numpy/src/tree.pyx"
-        if (unlikely(!__pyx_t_2)) {
+        if (unlikely(!__pyx_t_9)) {

 #line 543 "root_numpy/src/tree.pyx"
           PyObject* exc_type = PyErr_Occurred();
@@ -32561,16 +30325,16 @@
         }

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 543 "root_numpy/src/tree.pyx"
       }

 #line 543 "root_numpy/src/tree.pyx"
-      if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
+      if ((likely(PyTuple_CheckExact(__pyx_t_9))) || (PyList_CheckExact(__pyx_t_9))) {

 #line 543 "root_numpy/src/tree.pyx"
-        PyObject* sequence = __pyx_t_2;
+        PyObject* sequence = __pyx_t_9;

 #line 543 "root_numpy/src/tree.pyx"
         Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
@@ -32597,49 +30361,49 @@
         if (likely(PyTuple_CheckExact(sequence))) {

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = PyTuple_GET_ITEM(sequence, 0);
+          __pyx_t_40 = PyTuple_GET_ITEM(sequence, 0);

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = PyTuple_GET_ITEM(sequence, 1);
+          __pyx_t_13 = PyTuple_GET_ITEM(sequence, 1);

 #line 543 "root_numpy/src/tree.pyx"
         } else {

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_14 = PyList_GET_ITEM(sequence, 0);
+          __pyx_t_40 = PyList_GET_ITEM(sequence, 0);

 #line 543 "root_numpy/src/tree.pyx"
-          __pyx_t_10 = PyList_GET_ITEM(sequence, 1);
+          __pyx_t_13 = PyList_GET_ITEM(sequence, 1);

 #line 543 "root_numpy/src/tree.pyx"
         }

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_14);
+        __Pyx_INCREF(__pyx_t_40);

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_10);
+        __Pyx_INCREF(__pyx_t_13);

 #line 543 "root_numpy/src/tree.pyx"
         #else

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 543, __pyx_L9_error)
+        __pyx_t_40 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
+        __Pyx_GOTREF(__pyx_t_40);

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 543, __pyx_L9_error)
+        __pyx_t_13 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_GOTREF(__pyx_t_13);

 #line 543 "root_numpy/src/tree.pyx"
         #endif

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 543 "root_numpy/src/tree.pyx"
       } else {
@@ -32648,37 +30412,37 @@
         Py_ssize_t index = -1;

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 543, __pyx_L9_error)
+        __pyx_t_8 = PyObject_GetIter(__pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_GOTREF(__pyx_t_8);

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_15 = Py_TYPE(__pyx_t_9)->tp_iternext;
-        index = 0; __pyx_t_14 = __pyx_t_15(__pyx_t_9); if (unlikely(!__pyx_t_14))
+        __pyx_t_14 = Py_TYPE(__pyx_t_8)->tp_iternext;
+        index = 0; __pyx_t_40 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_40))
 #line 543 "root_numpy/src/tree.pyx"
 goto __pyx_L102_unpacking_failed;

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
-        index = 1; __pyx_t_10 = __pyx_t_15(__pyx_t_9); if (unlikely(!__pyx_t_10))
+        __Pyx_GOTREF(__pyx_t_40);
+        index = 1; __pyx_t_13 = __pyx_t_14(__pyx_t_8); if (unlikely(!__pyx_t_13))
 #line 543 "root_numpy/src/tree.pyx"
 goto __pyx_L102_unpacking_failed;

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
+        __Pyx_GOTREF(__pyx_t_13);

 #line 543 "root_numpy/src/tree.pyx"
-        if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_9), 2) < 0) __PYX_ERR(2, 543, __pyx_L9_error)
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_14(__pyx_t_8), 2) < 0) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_15 = NULL;
+        __pyx_t_14 = NULL;

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 543 "root_numpy/src/tree.pyx"
         goto __pyx_L103_unpacking_done;
@@ -32687,10 +30451,10 @@
         __pyx_L102_unpacking_failed:;

 #line 543 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 543 "root_numpy/src/tree.pyx"
-        __pyx_t_15 = NULL;
+        __pyx_t_14 = NULL;

 #line 543 "root_numpy/src/tree.pyx"
         if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
@@ -32705,19 +30469,19 @@
       }

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_18 = __Pyx_PyObject_AsString(__pyx_t_14); if (unlikely((!__pyx_t_18) && PyErr_Occurred())) __PYX_ERR(2, 543, __pyx_L9_error)
+      __pyx_t_17 = __Pyx_PyObject_AsString(__pyx_t_40); if (unlikely((!__pyx_t_17) && PyErr_Occurred())) __PYX_ERR(2, 543, __pyx_L9_error)

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_v_branch_name = __pyx_t_18;
+      __pyx_v_branch_name = __pyx_t_17;

 #line 543 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 543 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF_SET(__pyx_v_branch_default, __pyx_t_10);
+      __Pyx_XDECREF_SET(__pyx_v_branch_default, __pyx_t_13);

 #line 543 "root_numpy/src/tree.pyx"
-      __pyx_t_10 = 0;
+      __pyx_t_13 = 0;

       /* "root_numpy/src/tree.pyx":544
  *         # Fill default values if we will truncate or impute
@@ -32728,52 +30492,52 @@
  */

 #line 544 "root_numpy/src/tree.pyx"
-      __pyx_t_10 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 544, __pyx_L9_error)
+      __pyx_t_13 = __Pyx_PyStr_FromString(__pyx_v_branch_name); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 544, __pyx_L9_error)

 #line 544 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_GOTREF(__pyx_t_13);

 #line 544 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_arr), __pyx_t_10); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 544, __pyx_L9_error)
+      __pyx_t_40 = __Pyx_PyObject_GetItem(((PyObject *)__pyx_v_arr), __pyx_t_13); if (unlikely(!__pyx_t_40)) __PYX_ERR(2, 544, __pyx_L9_error)

 #line 544 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_14);
+      __Pyx_GOTREF(__pyx_t_40);

 #line 544 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 544 "root_numpy/src/tree.pyx"
-      __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_fill); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 544, __pyx_L9_error)
+      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_fill); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 544, __pyx_L9_error)

 #line 544 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_10);
+      __Pyx_GOTREF(__pyx_t_13);

 #line 544 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 544 "root_numpy/src/tree.pyx"
-      __pyx_t_14 = NULL;
+      __pyx_t_40 = NULL;

 #line 544 "root_numpy/src/tree.pyx"
-      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {

 #line 544 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_10);
+        __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);

 #line 544 "root_numpy/src/tree.pyx"
-        if (likely(__pyx_t_14)) {
+        if (likely(__pyx_t_40)) {

 #line 544 "root_numpy/src/tree.pyx"
-          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);

 #line 544 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_14);
+          __Pyx_INCREF(__pyx_t_40);

 #line 544 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(function);

 #line 544 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF_SET(__pyx_t_10, function);
+          __Pyx_DECREF_SET(__pyx_t_13, function);

 #line 544 "root_numpy/src/tree.pyx"
         }
@@ -32782,106 +30546,22 @@
       }

 #line 544 "root_numpy/src/tree.pyx"
-      if (!__pyx_t_14) {
+      __pyx_t_9 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_v_branch_default) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_v_branch_default);

 #line 544 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_branch_default); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 544, __pyx_L9_error)
+      __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 544 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+      if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 544, __pyx_L9_error)

 #line 544 "root_numpy/src/tree.pyx"
-      } else {
+      __Pyx_GOTREF(__pyx_t_9);

 #line 544 "root_numpy/src/tree.pyx"
-        #if CYTHON_FAST_PYCALL
+      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 544 "root_numpy/src/tree.pyx"
-        if (PyFunction_Check(__pyx_t_10)) {
-
-#line 544 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_v_branch_default};
-
-#line 544 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 544, __pyx_L9_error)
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
-
-#line 544 "root_numpy/src/tree.pyx"
-        } else
-
-#line 544 "root_numpy/src/tree.pyx"
-        #endif
-
-#line 544 "root_numpy/src/tree.pyx"
-        #if CYTHON_FAST_PYCCALL
-
-#line 544 "root_numpy/src/tree.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
-
-#line 544 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_v_branch_default};
-
-#line 544 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 544, __pyx_L9_error)
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
-
-#line 544 "root_numpy/src/tree.pyx"
-        } else
-
-#line 544 "root_numpy/src/tree.pyx"
-        #endif
-
-#line 544 "root_numpy/src/tree.pyx"
-        {
-
-#line 544 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 544, __pyx_L9_error)
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_9);
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_14); __pyx_t_14 = NULL;
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_v_branch_default);
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_v_branch_default);
-
-#line 544 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_branch_default);
-
-#line 544 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 544, __pyx_L9_error)
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
-
-#line 544 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 544 "root_numpy/src/tree.pyx"
-        }
-
-#line 544 "root_numpy/src/tree.pyx"
-      }
-
-#line 544 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 544 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

       /* "root_numpy/src/tree.pyx":543
  *
@@ -32895,7 +30575,7 @@
     }

 #line 543 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

     /* "root_numpy/src/tree.pyx":547
  *
@@ -32920,22 +30600,22 @@
     if (likely(PyList_CheckExact(__pyx_v_indices)) || PyTuple_CheckExact(__pyx_v_indices)) {

 #line 550 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_11); __pyx_t_4 = 0;
+      __pyx_t_38 = __pyx_v_indices; __Pyx_INCREF(__pyx_t_38); __pyx_t_4 = 0;

 #line 550 "root_numpy/src/tree.pyx"
-      __pyx_t_12 = NULL;
+      __pyx_t_11 = NULL;

 #line 550 "root_numpy/src/tree.pyx"
     } else {
       __pyx_t_4 = -1;
 #line 550 "root_numpy/src/tree.pyx"
-__pyx_t_11 = PyObject_GetIter(__pyx_v_indices); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 550, __pyx_L9_error)
+__pyx_t_38 = PyObject_GetIter(__pyx_v_indices); if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+      __Pyx_GOTREF(__pyx_t_38);

 #line 550 "root_numpy/src/tree.pyx"
-      __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; if (unlikely(!__pyx_t_12)) __PYX_ERR(2, 550, __pyx_L9_error)
+      __pyx_t_11 = Py_TYPE(__pyx_t_38)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
     }
@@ -32944,28 +30624,28 @@
     for (;;) {

 #line 550 "root_numpy/src/tree.pyx"
-      if (likely(!__pyx_t_12)) {
+      if (likely(!__pyx_t_11)) {

 #line 550 "root_numpy/src/tree.pyx"
-        if (likely(PyList_CheckExact(__pyx_t_11))) {
+        if (likely(PyList_CheckExact(__pyx_t_38))) {

 #line 550 "root_numpy/src/tree.pyx"
-          if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_11)) break;
+          if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_38)) break;

 #line 550 "root_numpy/src/tree.pyx"
           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 550 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PyList_GET_ITEM(__pyx_t_11, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 550, __pyx_L9_error)
+          __pyx_t_9 = PyList_GET_ITEM(__pyx_t_38, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
           #else

 #line 550 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PySequence_ITEM(__pyx_t_11, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 550, __pyx_L9_error)
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_38, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 550 "root_numpy/src/tree.pyx"
           #endif
@@ -32974,22 +30654,22 @@
         } else {

 #line 550 "root_numpy/src/tree.pyx"
-          if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_11)) break;
+          if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_38)) break;

 #line 550 "root_numpy/src/tree.pyx"
           #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 550 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_11, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 550, __pyx_L9_error)
+          __pyx_t_9 = PyTuple_GET_ITEM(__pyx_t_38, __pyx_t_4); __Pyx_INCREF(__pyx_t_9); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
           #else

 #line 550 "root_numpy/src/tree.pyx"
-          __pyx_t_2 = PySequence_ITEM(__pyx_t_11, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 550, __pyx_L9_error)
+          __pyx_t_9 = PySequence_ITEM(__pyx_t_38, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_2);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 550 "root_numpy/src/tree.pyx"
           #endif
@@ -33001,10 +30681,10 @@
 {

 #line 550 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __pyx_t_12(__pyx_t_11);
+        __pyx_t_9 = __pyx_t_11(__pyx_t_38);

 #line 550 "root_numpy/src/tree.pyx"
-        if (unlikely(!__pyx_t_2)) {
+        if (unlikely(!__pyx_t_9)) {

 #line 550 "root_numpy/src/tree.pyx"
           PyObject* exc_type = PyErr_Occurred();
@@ -33028,16 +30708,16 @@
         }

 #line 550 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 550 "root_numpy/src/tree.pyx"
       }

 #line 550 "root_numpy/src/tree.pyx"
-      __pyx_t_47 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_t_2); if (unlikely((__pyx_t_47 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(2, 550, __pyx_L9_error)
+      __pyx_t_47 = __Pyx_PyInt_As_PY_LONG_LONG(__pyx_t_9); if (unlikely((__pyx_t_47 == (PY_LONG_LONG)-1) && PyErr_Occurred())) __PYX_ERR(2, 550, __pyx_L9_error)

 #line 550 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 550 "root_numpy/src/tree.pyx"
       __pyx_v_ientry = __pyx_t_47;
@@ -33062,13 +30742,13 @@
  */

 #line 552 "root_numpy/src/tree.pyx"
-      __pyx_t_2 = __pyx_f_13_librootnumpy_handle_load(__pyx_v_entry_size, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 552, __pyx_L9_error)
+      __pyx_t_9 = __pyx_f_13_librootnumpy_handle_load(__pyx_v_entry_size, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 552, __pyx_L9_error)

 #line 552 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_GOTREF(__pyx_t_9);

 #line 552 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

       /* "root_numpy/src/tree.pyx":553
  *             entry_size = chain.GetEntry(ientry)
@@ -33117,16 +30797,16 @@
  */

 #line 554 "root_numpy/src/tree.pyx"
-        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 554, __pyx_L9_error)
+        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_IOError, __pyx_tuple__31, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 554, __pyx_L9_error)

 #line 554 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_9);

 #line 554 "root_numpy/src/tree.pyx"
-        __Pyx_Raise(__pyx_t_2, 0, 0, 0);
+        __Pyx_Raise(__pyx_t_9, 0, 0, 0);

 #line 554 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 554 "root_numpy/src/tree.pyx"
         __PYX_ERR(2, 554, __pyx_L9_error)
@@ -33176,16 +30856,16 @@
  */

 #line 561 "root_numpy/src/tree.pyx"
-        __pyx_t_22 = __pyx_v_selection_formula->GetNdata();
+        __pyx_t_21 = __pyx_v_selection_formula->GetNdata();

 #line 561 "root_numpy/src/tree.pyx"
-        __pyx_t_23 = __pyx_t_22;
+        __pyx_t_22 = __pyx_t_21;

 #line 561 "root_numpy/src/tree.pyx"
-        for (__pyx_t_24 = 0; __pyx_t_24 < __pyx_t_23; __pyx_t_24+=1) {
+        for (__pyx_t_23 = 0; __pyx_t_23 < __pyx_t_22; __pyx_t_23+=1) {

 #line 561 "root_numpy/src/tree.pyx"
-          __pyx_v_instance = __pyx_t_24;
+          __pyx_v_instance = __pyx_t_23;

           /* "root_numpy/src/tree.pyx":562
  *                 keep = False
@@ -33385,10 +31065,10 @@
  */

 #line 577 "root_numpy/src/tree.pyx"
-        __pyx_t_22 = __pyx_v_conv->write(__pyx_v_col, __pyx_v_data_ptr); if (unlikely(__pyx_t_22 == ((int)-1))) __PYX_ERR(2, 577, __pyx_L9_error)
+        __pyx_t_21 = __pyx_v_conv->write(__pyx_v_col, __pyx_v_data_ptr); if (unlikely(__pyx_t_21 == ((int)-1))) __PYX_ERR(2, 577, __pyx_L9_error)

 #line 577 "root_numpy/src/tree.pyx"
-        __pyx_v_num_bytes = __pyx_t_22;
+        __pyx_v_num_bytes = __pyx_t_21;

         /* "root_numpy/src/tree.pyx":578
  *                 conv = converters[icol]
@@ -33466,7 +31146,7 @@
     }

 #line 550 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 550 "root_numpy/src/tree.pyx"
   }
@@ -33541,13 +31221,22 @@
       __Pyx_PyThreadState_assign

 #line 590 "root_numpy/src/tree.pyx"
-      __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_51 = 0; __pyx_t_52 = 0; __pyx_t_53 = 0;
+      __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_51 = 0; __pyx_t_52 = 0; __pyx_t_53 = 0;

 #line 590 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;

 #line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_29); __pyx_t_29 = 0;
+      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 590 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_28); __pyx_t_28 = 0;
+
+#line 590 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 590 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_46); __pyx_t_46 = 0;

 #line 590 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -33556,28 +31245,22 @@
       __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_46); __pyx_t_46 = 0;
-
-#line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 590 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
+      __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;

 #line 590 "root_numpy/src/tree.pyx"
       if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_51, &__pyx_t_52, &__pyx_t_53);

 #line 590 "root_numpy/src/tree.pyx"
-      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27) < 0)) __Pyx_ErrFetch(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27);
+      if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_24, &__pyx_t_25, &__pyx_t_26) < 0)) __Pyx_ErrFetch(&__pyx_t_24, &__pyx_t_25, &__pyx_t_26);
+
+#line 590 "root_numpy/src/tree.pyx"
+      __Pyx_XGOTREF(__pyx_t_24);

 #line 590 "root_numpy/src/tree.pyx"
       __Pyx_XGOTREF(__pyx_t_25);
@@ -33586,9 +31269,6 @@
       __Pyx_XGOTREF(__pyx_t_26);

 #line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XGOTREF(__pyx_t_27);
-
-#line 590 "root_numpy/src/tree.pyx"
       __Pyx_XGOTREF(__pyx_t_51);

 #line 590 "root_numpy/src/tree.pyx"
@@ -33598,7 +31278,7 @@
       __Pyx_XGOTREF(__pyx_t_53);

 #line 590 "root_numpy/src/tree.pyx"
-      __pyx_t_22 = __pyx_lineno; __pyx_t_23 = __pyx_clineno; __pyx_t_50 = __pyx_filename;
+      __pyx_t_21 = __pyx_lineno; __pyx_t_22 = __pyx_clineno; __pyx_t_50 = __pyx_filename;

 #line 590 "root_numpy/src/tree.pyx"
       {
@@ -33670,22 +31350,22 @@
       }

 #line 590 "root_numpy/src/tree.pyx"
+      __Pyx_XGIVEREF(__pyx_t_24);
+
+#line 590 "root_numpy/src/tree.pyx"
       __Pyx_XGIVEREF(__pyx_t_25);

 #line 590 "root_numpy/src/tree.pyx"
       __Pyx_XGIVEREF(__pyx_t_26);

 #line 590 "root_numpy/src/tree.pyx"
-      __Pyx_XGIVEREF(__pyx_t_27);
+      __Pyx_ErrRestore(__pyx_t_24, __pyx_t_25, __pyx_t_26);

 #line 590 "root_numpy/src/tree.pyx"
-      __Pyx_ErrRestore(__pyx_t_25, __pyx_t_26, __pyx_t_27);
+      __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_51 = 0; __pyx_t_52 = 0; __pyx_t_53 = 0;

 #line 590 "root_numpy/src/tree.pyx"
-      __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0; __pyx_t_51 = 0; __pyx_t_52 = 0; __pyx_t_53 = 0;
-
-#line 590 "root_numpy/src/tree.pyx"
-      __pyx_lineno = __pyx_t_22; __pyx_clineno = __pyx_t_23; __pyx_filename = __pyx_t_50;
+      __pyx_lineno = __pyx_t_21; __pyx_clineno = __pyx_t_22; __pyx_filename = __pyx_t_50;

 #line 590 "root_numpy/src/tree.pyx"
       goto __pyx_L1_error;
@@ -33722,40 +31402,40 @@
  */

 #line 594 "root_numpy/src/tree.pyx"
-    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_arr), __pyx_n_s_resize); if (unlikely(!__pyx_t_2)) __PYX_ERR(2, 594, __pyx_L1_error)
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_arr), __pyx_n_s_resize); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 594, __pyx_L1_error)

 #line 594 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GOTREF(__pyx_t_9);

 #line 594 "root_numpy/src/tree.pyx"
-    __pyx_t_10 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries_selected); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 594, __pyx_L1_error)
+    __pyx_t_13 = __Pyx_PyInt_From_PY_LONG_LONG(__pyx_v_num_entries_selected); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 594, __pyx_L1_error)

 #line 594 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_10);
+    __Pyx_GOTREF(__pyx_t_13);

 #line 594 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = NULL;
+    __pyx_t_40 = NULL;

 #line 594 "root_numpy/src/tree.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 594 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_2);
+      __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_9);

 #line 594 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_9)) {
+      if (likely(__pyx_t_40)) {

 #line 594 "root_numpy/src/tree.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 594 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_9);
+        __Pyx_INCREF(__pyx_t_40);

 #line 594 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);

 #line 594 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF_SET(__pyx_t_2, function);
+        __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 594 "root_numpy/src/tree.pyx"
       }
@@ -33764,115 +31444,25 @@
     }

 #line 594 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_9) {
+    __pyx_t_38 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_40, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_13);

 #line 594 "root_numpy/src/tree.pyx"
-      __pyx_t_11 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_10); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 594, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;

 #line 594 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;

 #line 594 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_11);
+    if (unlikely(!__pyx_t_38)) __PYX_ERR(2, 594, __pyx_L1_error)

 #line 594 "root_numpy/src/tree.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_38);

 #line 594 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 594 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_2)) {
-
-#line 594 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_10};
-
-#line 594 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 594, __pyx_L1_error)
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-      } else
-
-#line 594 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 594 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 594 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 594 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_9, __pyx_t_10};
-
-#line 594 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 594, __pyx_L1_error)
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-      } else
-
-#line 594 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 594 "root_numpy/src/tree.pyx"
-      {
-
-#line 594 "root_numpy/src/tree.pyx"
-        __pyx_t_14 = PyTuple_New(1+1); if (unlikely(!__pyx_t_14)) __PYX_ERR(2, 594, __pyx_L1_error)
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_14);
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_9); __pyx_t_9 = NULL;
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_10);
-
-#line 594 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_14, 0+1, __pyx_t_10);
-
-#line 594 "root_numpy/src/tree.pyx"
-        __pyx_t_10 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-        __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_14, NULL); if (unlikely(!__pyx_t_11)) __PYX_ERR(2, 594, __pyx_L1_error)
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_11);
-
-#line 594 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-      }
-
-#line 594 "root_numpy/src/tree.pyx"
-    }
-
-#line 594 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 594 "root_numpy/src/tree.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_38); __pyx_t_38 = 0;

     /* "root_numpy/src/tree.pyx":593
  *
@@ -33935,13 +31525,13 @@
   __Pyx_XDECREF(__pyx_t_10);

 #line 165 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_11);
+  __Pyx_XDECREF(__pyx_t_13);

 #line 165 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_14);
+  __Pyx_XDECREF(__pyx_t_28);

 #line 165 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_29);
+  __Pyx_XDECREF(__pyx_t_38);

 #line 165 "root_numpy/src/tree.pyx"
   __Pyx_XDECREF(__pyx_t_39);
@@ -34033,7 +31623,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_13root2array_fromfile(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_13root2array_fromfile =
 #line 599 "root_numpy/src/tree.pyx"
-{"root2array_fromfile", (PyCFunction)__pyx_pw_13_librootnumpy_13root2array_fromfile, METH_VARARGS|METH_KEYWORDS, 0};
+{"root2array_fromfile", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_13root2array_fromfile, METH_VARARGS|METH_KEYWORDS, 0};

 #line 599 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_13root2array_fromfile(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -34900,100 +32490,16 @@
           }

 #line 611 "root_numpy/src/tree.pyx"
-          if (!__pyx_t_8) {
+          __pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_8, __pyx_v_fn) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_fn);

 #line 611 "root_numpy/src/tree.pyx"
-            __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_fn); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 611, __pyx_L4_error)
+          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 611 "root_numpy/src/tree.pyx"
-            __Pyx_GOTREF(__pyx_t_4);
+          if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 611, __pyx_L4_error)

 #line 611 "root_numpy/src/tree.pyx"
-          } else {
-
-#line 611 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCALL
-
-#line 611 "root_numpy/src/tree.pyx"
-            if (PyFunction_Check(__pyx_t_7)) {
-
-#line 611 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_fn};
-
-#line 611 "root_numpy/src/tree.pyx"
-              __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 611, __pyx_L4_error)
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_4);
-
-#line 611 "root_numpy/src/tree.pyx"
-            } else
-
-#line 611 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 611 "root_numpy/src/tree.pyx"
-            #if CYTHON_FAST_PYCCALL
-
-#line 611 "root_numpy/src/tree.pyx"
-            if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
-
-#line 611 "root_numpy/src/tree.pyx"
-              PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_v_fn};
-
-#line 611 "root_numpy/src/tree.pyx"
-              __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 611, __pyx_L4_error)
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_4);
-
-#line 611 "root_numpy/src/tree.pyx"
-            } else
-
-#line 611 "root_numpy/src/tree.pyx"
-            #endif
-
-#line 611 "root_numpy/src/tree.pyx"
-            {
-
-#line 611 "root_numpy/src/tree.pyx"
-              __pyx_t_9 = PyTuple_New(1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 611, __pyx_L4_error)
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_9);
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_8); __pyx_t_8 = NULL;
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_v_fn);
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_v_fn);
-
-#line 611 "root_numpy/src/tree.pyx"
-              PyTuple_SET_ITEM(__pyx_t_9, 0+1, __pyx_v_fn);
-
-#line 611 "root_numpy/src/tree.pyx"
-              __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 611, __pyx_L4_error)
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_4);
-
-#line 611 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 611 "root_numpy/src/tree.pyx"
-            }
-
-#line 611 "root_numpy/src/tree.pyx"
-          }
+          __Pyx_GOTREF(__pyx_t_4);

 #line 611 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -35061,27 +32567,27 @@
  */

 #line 615 "root_numpy/src/tree.pyx"
-          __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)
+          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_warnings); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 615 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_4);

 #line 615 "root_numpy/src/tree.pyx"
-          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_warn); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 615, __pyx_L4_error)
+          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_warn); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 615, __pyx_L4_error)
+
+#line 615 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_8);
+
+#line 615 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 615 "root_numpy/src/tree.pyx"
+          __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_tree_0_not_found_in_1, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 615 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_9);

 #line 615 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 615 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_tree_0_not_found_in_1, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 615, __pyx_L4_error)
-
-#line 615 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_8);
-
-#line 615 "root_numpy/src/tree.pyx"
           __pyx_t_10 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_treename); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 615 "root_numpy/src/tree.pyx"
@@ -35094,16 +32600,16 @@
           __pyx_t_12 = 0;

 #line 615 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {

 #line 615 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_8);
+            __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_9);

 #line 615 "root_numpy/src/tree.pyx"
             if (likely(__pyx_t_11)) {

 #line 615 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 615 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(__pyx_t_11);
@@ -35112,7 +32618,7 @@
               __Pyx_INCREF(function);

 #line 615 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_8, function);
+              __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 615 "root_numpy/src/tree.pyx"
               __pyx_t_12 = 1;
@@ -35127,13 +32633,13 @@
           #if CYTHON_FAST_PYCALL

 #line 615 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_8)) {
+          if (PyFunction_Check(__pyx_t_9)) {

 #line 615 "root_numpy/src/tree.pyx"
             PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_10, __pyx_v_fn};

 #line 615 "root_numpy/src/tree.pyx"
-            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)
+            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 615 "root_numpy/src/tree.pyx"
             __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
@@ -35154,13 +32660,13 @@
           #if CYTHON_FAST_PYCCALL

 #line 615 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {

 #line 615 "root_numpy/src/tree.pyx"
             PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_t_10, __pyx_v_fn};

 #line 615 "root_numpy/src/tree.pyx"
-            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)
+            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 615 "root_numpy/src/tree.pyx"
             __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
@@ -35214,7 +32720,7 @@
             __pyx_t_10 = 0;

 #line 615 "root_numpy/src/tree.pyx"
-            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)
+            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 615 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_4);
@@ -35226,7 +32732,7 @@
           }

 #line 615 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

           /* "root_numpy/src/tree.pyx":616
  *                     # skip this file
@@ -35237,31 +32743,31 @@
  */

 #line 616 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = NULL;
+          __pyx_t_9 = NULL;

 #line 616 "root_numpy/src/tree.pyx"
           __pyx_t_12 = 0;

 #line 616 "root_numpy/src/tree.pyx"
-          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {

 #line 616 "root_numpy/src/tree.pyx"
-            __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
+            __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);

 #line 616 "root_numpy/src/tree.pyx"
-            if (likely(__pyx_t_8)) {
+            if (likely(__pyx_t_9)) {

 #line 616 "root_numpy/src/tree.pyx"
-              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 616 "root_numpy/src/tree.pyx"
-              __Pyx_INCREF(__pyx_t_8);
+              __Pyx_INCREF(__pyx_t_9);

 #line 616 "root_numpy/src/tree.pyx"
               __Pyx_INCREF(function);

 #line 616 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF_SET(__pyx_t_9, function);
+              __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 616 "root_numpy/src/tree.pyx"
               __pyx_t_12 = 1;
@@ -35276,16 +32782,16 @@
           #if CYTHON_FAST_PYCALL

 #line 616 "root_numpy/src/tree.pyx"
-          if (PyFunction_Check(__pyx_t_9)) {
+          if (PyFunction_Check(__pyx_t_8)) {

 #line 616 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_4, __pyx_builtin_RuntimeWarning};
+            PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_4, __pyx_builtin_RuntimeWarning};

 #line 616 "root_numpy/src/tree.pyx"
-            __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 615, __pyx_L4_error)
+            __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 616 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 616 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_7);
@@ -35303,16 +32809,16 @@
           #if CYTHON_FAST_PYCCALL

 #line 616 "root_numpy/src/tree.pyx"
-          if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {

 #line 616 "root_numpy/src/tree.pyx"
-            PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_4, __pyx_builtin_RuntimeWarning};
+            PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_4, __pyx_builtin_RuntimeWarning};

 #line 616 "root_numpy/src/tree.pyx"
-            __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 615, __pyx_L4_error)
+            __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 616 "root_numpy/src/tree.pyx"
-            __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+            __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 616 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_7);
@@ -35336,10 +32842,10 @@
             __Pyx_GOTREF(__pyx_t_13);

 #line 616 "root_numpy/src/tree.pyx"
-            if (__pyx_t_8) {
+            if (__pyx_t_9) {

 #line 616 "root_numpy/src/tree.pyx"
-              __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_8); __pyx_t_8 = NULL;
+              __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __pyx_t_9 = NULL;

 #line 616 "root_numpy/src/tree.pyx"
             }
@@ -35363,7 +32869,7 @@
             __pyx_t_4 = 0;

 #line 616 "root_numpy/src/tree.pyx"
-            __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 615, __pyx_L4_error)
+            __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 615, __pyx_L4_error)

 #line 616 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_7);
@@ -35375,7 +32881,7 @@
           }

 #line 616 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 616 "root_numpy/src/tree.pyx"
           __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -35494,10 +33000,10 @@
  */

 #line 624 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_unable_to_access_tree_0_in_1, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 624, __pyx_L4_error)
+        __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_unable_to_access_tree_0_in_1, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 624, __pyx_L4_error)

 #line 624 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_GOTREF(__pyx_t_8);

         /* "root_numpy/src/tree.pyx":625
  *             if chain.Add(fn, -1) == 0:
@@ -35520,16 +33026,16 @@
         __pyx_t_12 = 0;

 #line 625 "root_numpy/src/tree.pyx"
-        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 625 "root_numpy/src/tree.pyx"
-          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9);
+          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);

 #line 625 "root_numpy/src/tree.pyx"
           if (likely(__pyx_t_4)) {

 #line 625 "root_numpy/src/tree.pyx"
-            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 625 "root_numpy/src/tree.pyx"
             __Pyx_INCREF(__pyx_t_4);
@@ -35538,7 +33044,7 @@
             __Pyx_INCREF(function);

 #line 625 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF_SET(__pyx_t_9, function);
+            __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 625 "root_numpy/src/tree.pyx"
             __pyx_t_12 = 1;
@@ -35553,13 +33059,13 @@
         #if CYTHON_FAST_PYCALL

 #line 625 "root_numpy/src/tree.pyx"
-        if (PyFunction_Check(__pyx_t_9)) {
+        if (PyFunction_Check(__pyx_t_8)) {

 #line 625 "root_numpy/src/tree.pyx"
           PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_13, __pyx_v_fn};

 #line 625 "root_numpy/src/tree.pyx"
-          __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 624, __pyx_L4_error)
+          __pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 624, __pyx_L4_error)

 #line 625 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -35580,13 +33086,13 @@
         #if CYTHON_FAST_PYCCALL

 #line 625 "root_numpy/src/tree.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
+        if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {

 #line 625 "root_numpy/src/tree.pyx"
           PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_13, __pyx_v_fn};

 #line 625 "root_numpy/src/tree.pyx"
-          __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 624, __pyx_L4_error)
+          __pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 624, __pyx_L4_error)

 #line 625 "root_numpy/src/tree.pyx"
           __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -35607,16 +33113,16 @@
         {

 #line 625 "root_numpy/src/tree.pyx"
-          __pyx_t_8 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 624, __pyx_L4_error)
+          __pyx_t_9 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 624, __pyx_L4_error)

 #line 625 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_8);
+          __Pyx_GOTREF(__pyx_t_9);

 #line 625 "root_numpy/src/tree.pyx"
           if (__pyx_t_4) {

 #line 625 "root_numpy/src/tree.pyx"
-            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
+            __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_4); __pyx_t_4 = NULL;

 #line 625 "root_numpy/src/tree.pyx"
           }
@@ -35625,7 +33131,7 @@
           __Pyx_GIVEREF(__pyx_t_13);

 #line 625 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_12, __pyx_t_13);
+          PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_12, __pyx_t_13);

 #line 625 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(__pyx_v_fn);
@@ -35634,25 +33140,25 @@
           __Pyx_GIVEREF(__pyx_v_fn);

 #line 625 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_12, __pyx_v_fn);
+          PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_12, __pyx_v_fn);

 #line 625 "root_numpy/src/tree.pyx"
           __pyx_t_13 = 0;

 #line 625 "root_numpy/src/tree.pyx"
-          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_8, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 624, __pyx_L4_error)
+          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 624, __pyx_L4_error)

 #line 625 "root_numpy/src/tree.pyx"
           __Pyx_GOTREF(__pyx_t_7);

 #line 625 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+          __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 625 "root_numpy/src/tree.pyx"
         }

 #line 625 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

         /* "root_numpy/src/tree.pyx":624
  *                 del rfile
@@ -35663,19 +33169,19 @@
  */

 #line 624 "root_numpy/src/tree.pyx"
-        __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 624, __pyx_L4_error)
+        __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 624, __pyx_L4_error)

 #line 624 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
+        __Pyx_GOTREF(__pyx_t_8);

 #line 624 "root_numpy/src/tree.pyx"
         __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 624 "root_numpy/src/tree.pyx"
-        __Pyx_Raise(__pyx_t_9, 0, 0, 0);
+        __Pyx_Raise(__pyx_t_8, 0, 0, 0);

 #line 624 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 624 "root_numpy/src/tree.pyx"
         __PYX_ERR(2, 624, __pyx_L4_error)
@@ -35731,10 +33237,10 @@
  */

 #line 628 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_none_of_the_input_files_contain, __pyx_n_s_format); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 628, __pyx_L4_error)
+      __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_none_of_the_input_files_contain, __pyx_n_s_format); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 628, __pyx_L4_error)

 #line 628 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_GOTREF(__pyx_t_8);

 #line 628 "root_numpy/src/tree.pyx"
       __pyx_t_7 = __pyx_convert_PyStr_string_to_py_std__in_string(__pyx_v_treename); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 628, __pyx_L4_error)
@@ -35743,28 +33249,28 @@
       __Pyx_GOTREF(__pyx_t_7);

 #line 628 "root_numpy/src/tree.pyx"
-      __pyx_t_8 = NULL;
+      __pyx_t_9 = NULL;

 #line 628 "root_numpy/src/tree.pyx"
-      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
+      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 628 "root_numpy/src/tree.pyx"
-        __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
+        __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_8);

 #line 628 "root_numpy/src/tree.pyx"
-        if (likely(__pyx_t_8)) {
+        if (likely(__pyx_t_9)) {

 #line 628 "root_numpy/src/tree.pyx"
-          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 628 "root_numpy/src/tree.pyx"
-          __Pyx_INCREF(__pyx_t_8);
+          __Pyx_INCREF(__pyx_t_9);

 #line 628 "root_numpy/src/tree.pyx"
           __Pyx_INCREF(function);

 #line 628 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF_SET(__pyx_t_9, function);
+          __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 628 "root_numpy/src/tree.pyx"
         }
@@ -35773,112 +33279,22 @@
       }

 #line 628 "root_numpy/src/tree.pyx"
-      if (!__pyx_t_8) {
+      __pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_7);

 #line 628 "root_numpy/src/tree.pyx"
-        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 628, __pyx_L4_error)
+      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 628 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 628 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
+      if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 628, __pyx_L4_error)

 #line 628 "root_numpy/src/tree.pyx"
-      } else {
+      __Pyx_GOTREF(__pyx_t_1);

 #line 628 "root_numpy/src/tree.pyx"
-        #if CYTHON_FAST_PYCALL
-
-#line 628 "root_numpy/src/tree.pyx"
-        if (PyFunction_Check(__pyx_t_9)) {
-
-#line 628 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_7};
-
-#line 628 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 628, __pyx_L4_error)
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_1);
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 628 "root_numpy/src/tree.pyx"
-        } else
-
-#line 628 "root_numpy/src/tree.pyx"
-        #endif
-
-#line 628 "root_numpy/src/tree.pyx"
-        #if CYTHON_FAST_PYCCALL
-
-#line 628 "root_numpy/src/tree.pyx"
-        if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 628 "root_numpy/src/tree.pyx"
-          PyObject *__pyx_temp[2] = {__pyx_t_8, __pyx_t_7};
-
-#line 628 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 628, __pyx_L4_error)
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_1);
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 628 "root_numpy/src/tree.pyx"
-        } else
-
-#line 628 "root_numpy/src/tree.pyx"
-        #endif
-
-#line 628 "root_numpy/src/tree.pyx"
-        {
-
-#line 628 "root_numpy/src/tree.pyx"
-          __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(2, 628, __pyx_L4_error)
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_13);
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_8); __pyx_t_8 = NULL;
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_GIVEREF(__pyx_t_7);
-
-#line 628 "root_numpy/src/tree.pyx"
-          PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_t_7);
-
-#line 628 "root_numpy/src/tree.pyx"
-          __pyx_t_7 = 0;
-
-#line 628 "root_numpy/src/tree.pyx"
-          __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_13, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(2, 628, __pyx_L4_error)
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_GOTREF(__pyx_t_1);
-
-#line 628 "root_numpy/src/tree.pyx"
-          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-
-#line 628 "root_numpy/src/tree.pyx"
-        }
-
-#line 628 "root_numpy/src/tree.pyx"
-      }
-
-#line 628 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

       /* "root_numpy/src/tree.pyx":627
  *                     treename, fn))
@@ -35889,19 +33305,19 @@
  */

 #line 627 "root_numpy/src/tree.pyx"
-      __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 627, __pyx_L4_error)
+      __pyx_t_8 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 627, __pyx_L4_error)

 #line 627 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_9);
+      __Pyx_GOTREF(__pyx_t_8);

 #line 627 "root_numpy/src/tree.pyx"
       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 627 "root_numpy/src/tree.pyx"
-      __Pyx_Raise(__pyx_t_9, 0, 0, 0);
+      __Pyx_Raise(__pyx_t_8, 0, 0, 0);

 #line 627 "root_numpy/src/tree.pyx"
-      __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 627 "root_numpy/src/tree.pyx"
       __PYX_ERR(2, 627, __pyx_L4_error)
@@ -35947,7 +33363,7 @@
     }

 #line 631 "root_numpy/src/tree.pyx"
-    __pyx_t_15 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_s__15); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 631, __pyx_L4_error)
+    __pyx_t_15 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_s__9); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 631, __pyx_L4_error)

 #line 631 "root_numpy/src/tree.pyx"
     __pyx_t_14 = __pyx_t_15;
@@ -35964,16 +33380,16 @@
  */

 #line 629 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = __pyx_f_13_librootnumpy_tree2array(((TTree *)__pyx_v_chain), __pyx_v_branches, __pyx_t_14, __pyx_v_object_selection, __pyx_v_start, __pyx_v_stop, __pyx_v_step, __pyx_v_include_weight, __pyx_v_weight_name, __pyx_v_cache_size); if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 629, __pyx_L4_error)
+    __pyx_t_8 = __pyx_f_13_librootnumpy_tree2array(((TTree *)__pyx_v_chain), __pyx_v_branches, __pyx_t_14, __pyx_v_object_selection, __pyx_v_start, __pyx_v_stop, __pyx_v_step, __pyx_v_include_weight, __pyx_v_weight_name, __pyx_v_cache_size); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 629, __pyx_L4_error)

 #line 629 "root_numpy/src/tree.pyx"
-    __Pyx_GOTREF(__pyx_t_9);
+    __Pyx_GOTREF(__pyx_t_8);

 #line 629 "root_numpy/src/tree.pyx"
-    __pyx_v_ret = __pyx_t_9;
+    __pyx_v_ret = __pyx_t_8;

 #line 629 "root_numpy/src/tree.pyx"
-    __pyx_t_9 = 0;
+    __pyx_t_8 = 0;

 #line 629 "root_numpy/src/tree.pyx"
   }
@@ -36026,19 +33442,19 @@
       __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 635 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+
+#line 635 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 635 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 635 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 635 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 635 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
+      __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 635 "root_numpy/src/tree.pyx"
       if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_21, &__pyx_t_22, &__pyx_t_23);
@@ -36230,7 +33646,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_15root2array_fromtree(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_15root2array_fromtree =
 #line 639 "root_numpy/src/tree.pyx"
-{"root2array_fromtree", (PyCFunction)__pyx_pw_13_librootnumpy_15root2array_fromtree, METH_VARARGS|METH_KEYWORDS, 0};
+{"root2array_fromtree", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_15root2array_fromtree, METH_VARARGS|METH_KEYWORDS, 0};

 #line 639 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_15root2array_fromtree(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -36758,7 +34174,7 @@
   }

 #line 646 "root_numpy/src/tree.pyx"
-  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_s__15); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 646, __pyx_L1_error)
+  __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_s__9); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 646, __pyx_L1_error)

 #line 646 "root_numpy/src/tree.pyx"
   __pyx_t_2 = __pyx_t_4;
@@ -36845,7 +34261,7 @@
 static TTree *__pyx_f_13_librootnumpy_array2tree(PyArrayObject *__pyx_v_arr, struct __pyx_opt_args_13_librootnumpy_array2tree *__pyx_optional_args) {

 #line 651 "root_numpy/src/tree.pyx"
-  std::string __pyx_v_name = __pyx_k__38;
+  std::string __pyx_v_name = __pyx_k__32;

 #line 651 "root_numpy/src/tree.pyx"
   TTree *__pyx_v_tree = ((TTree *)NULL);
@@ -36944,7 +34360,7 @@
   PyObject *__pyx_t_14 = NULL;

 #line 651 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_15 = NULL;
+  __pyx_t_13_librootnumpy_SIZE_t __pyx_t_15;

 #line 651 "root_numpy/src/tree.pyx"
   __pyx_t_13_librootnumpy_SIZE_t __pyx_t_16;
@@ -36953,34 +34369,31 @@
   __pyx_t_13_librootnumpy_SIZE_t __pyx_t_17;

 #line 651 "root_numpy/src/tree.pyx"
-  __pyx_t_13_librootnumpy_SIZE_t __pyx_t_18;
+  unsigned int __pyx_t_18;

 #line 651 "root_numpy/src/tree.pyx"
   unsigned int __pyx_t_19;

 #line 651 "root_numpy/src/tree.pyx"
-  unsigned int __pyx_t_20;
+  std::vector<__pyx_t_13_librootnumpy_NP2ROOTConverter *> ::size_type __pyx_t_20;

 #line 651 "root_numpy/src/tree.pyx"
   std::vector<__pyx_t_13_librootnumpy_NP2ROOTConverter *> ::size_type __pyx_t_21;

 #line 651 "root_numpy/src/tree.pyx"
-  std::vector<__pyx_t_13_librootnumpy_NP2ROOTConverter *> ::size_type __pyx_t_22;
+  int __pyx_t_22;

 #line 651 "root_numpy/src/tree.pyx"
-  int __pyx_t_23;
+  char const *__pyx_t_23;

 #line 651 "root_numpy/src/tree.pyx"
-  char const *__pyx_t_24;
+  PyObject *__pyx_t_24 = NULL;

 #line 651 "root_numpy/src/tree.pyx"
   PyObject *__pyx_t_25 = NULL;

 #line 651 "root_numpy/src/tree.pyx"
   PyObject *__pyx_t_26 = NULL;
-
-#line 651 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_27 = NULL;

 #line 651 "root_numpy/src/tree.pyx"
   __Pyx_RefNannySetupContext("array2tree", 0);
@@ -37503,7 +34916,7 @@
           /*else*/ {

 #line 682 "root_numpy/src/tree.pyx"
-            __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_warnings); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 682, __pyx_L7_error)
+            __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_warnings); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 682, __pyx_L7_error)

 #line 682 "root_numpy/src/tree.pyx"
             __Pyx_GOTREF(__pyx_t_10);
@@ -37562,94 +34975,43 @@
             }

 #line 683 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_14) {
+            __pyx_t_10 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_14, __pyx_v_dtype) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_dtype);

 #line 683 "root_numpy/src/tree.pyx"
-              __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_dtype); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 683, __pyx_L7_error)
+            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 683 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_10);
+            if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 683, __pyx_L7_error)

 #line 683 "root_numpy/src/tree.pyx"
-            } else {
+            __Pyx_GOTREF(__pyx_t_10);

 #line 683 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
+            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 683 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_11)) {
+            __pyx_t_11 = NULL;

 #line 683 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_v_dtype};
+            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {

 #line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 683, __pyx_L7_error)
+              __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6);

 #line 683 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
+              if (likely(__pyx_t_11)) {

 #line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_10);
+                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);

 #line 683 "root_numpy/src/tree.pyx"
-              } else
+                __Pyx_INCREF(__pyx_t_11);

 #line 683 "root_numpy/src/tree.pyx"
-              #endif
+                __Pyx_INCREF(function);

 #line 683 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 683 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
-
-#line 683 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_14, __pyx_v_dtype};
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 683, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_10);
-
-#line 683 "root_numpy/src/tree.pyx"
-              } else
-
-#line 683 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 683 "root_numpy/src/tree.pyx"
-              {
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_15 = PyTuple_New(1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 683, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_15);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL;
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_v_dtype);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_v_dtype);
-
-#line 683 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_15, 0+1, __pyx_v_dtype);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_15, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 683, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_10);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+                __Pyx_DECREF_SET(__pyx_t_6, function);

 #line 683 "root_numpy/src/tree.pyx"
               }
@@ -37658,142 +35020,19 @@
             }

 #line 683 "root_numpy/src/tree.pyx"
-            __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+            __pyx_t_5 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_11, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_10);

 #line 683 "root_numpy/src/tree.pyx"
-            __pyx_t_11 = NULL;
+            __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 683 "root_numpy/src/tree.pyx"
-            if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+            __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 683 "root_numpy/src/tree.pyx"
-              __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_6);
+            if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 682, __pyx_L7_error)

 #line 683 "root_numpy/src/tree.pyx"
-              if (likely(__pyx_t_11)) {
-
-#line 683 "root_numpy/src/tree.pyx"
-                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(__pyx_t_11);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_INCREF(function);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF_SET(__pyx_t_6, function);
-
-#line 683 "root_numpy/src/tree.pyx"
-              }
-
-#line 683 "root_numpy/src/tree.pyx"
-            }
-
-#line 683 "root_numpy/src/tree.pyx"
-            if (!__pyx_t_11) {
-
-#line 683 "root_numpy/src/tree.pyx"
-              __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 682, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-              __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-              __Pyx_GOTREF(__pyx_t_5);
-
-#line 683 "root_numpy/src/tree.pyx"
-            } else {
-
-#line 683 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCALL
-
-#line 683 "root_numpy/src/tree.pyx"
-              if (PyFunction_Check(__pyx_t_6)) {
-
-#line 683 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_10};
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 682, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_5);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-              } else
-
-#line 683 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 683 "root_numpy/src/tree.pyx"
-              #if CYTHON_FAST_PYCCALL
-
-#line 683 "root_numpy/src/tree.pyx"
-              if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
-
-#line 683 "root_numpy/src/tree.pyx"
-                PyObject *__pyx_temp[2] = {__pyx_t_11, __pyx_t_10};
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 682, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_5);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-              } else
-
-#line 683 "root_numpy/src/tree.pyx"
-              #endif
-
-#line 683 "root_numpy/src/tree.pyx"
-              {
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_15 = PyTuple_New(1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(2, 682, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_15);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_11); __pyx_t_11 = NULL;
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GIVEREF(__pyx_t_10);
-
-#line 683 "root_numpy/src/tree.pyx"
-                PyTuple_SET_ITEM(__pyx_t_15, 0+1, __pyx_t_10);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_10 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-                __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 682, __pyx_L7_error)
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_GOTREF(__pyx_t_5);
-
-#line 683 "root_numpy/src/tree.pyx"
-                __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 683 "root_numpy/src/tree.pyx"
-              }
-
-#line 683 "root_numpy/src/tree.pyx"
-            }
+            __Pyx_GOTREF(__pyx_t_5);

 #line 683 "root_numpy/src/tree.pyx"
             __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -37830,16 +35069,16 @@
  */

 #line 687 "root_numpy/src/tree.pyx"
-        __pyx_t_16 = __pyx_v_arr_len;
+        __pyx_t_15 = __pyx_v_arr_len;

 #line 687 "root_numpy/src/tree.pyx"
-        __pyx_t_17 = __pyx_t_16;
+        __pyx_t_16 = __pyx_t_15;

 #line 687 "root_numpy/src/tree.pyx"
-        for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_17; __pyx_t_18+=1) {
+        for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) {

 #line 687 "root_numpy/src/tree.pyx"
-          __pyx_v_idata = __pyx_t_18;
+          __pyx_v_idata = __pyx_t_17;

           /* "root_numpy/src/tree.pyx":688
  *         num_cols = converters.size()
@@ -37864,13 +35103,13 @@
           __pyx_t_9 = __pyx_v_num_cols;

 #line 689 "root_numpy/src/tree.pyx"
-          __pyx_t_19 = __pyx_t_9;
+          __pyx_t_18 = __pyx_t_9;

 #line 689 "root_numpy/src/tree.pyx"
-          for (__pyx_t_20 = 0; __pyx_t_20 < __pyx_t_19; __pyx_t_20+=1) {
+          for (__pyx_t_19 = 0; __pyx_t_19 < __pyx_t_18; __pyx_t_19+=1) {

 #line 689 "root_numpy/src/tree.pyx"
-            __pyx_v_icol = __pyx_t_20;
+            __pyx_v_icol = __pyx_t_19;

             /* "root_numpy/src/tree.pyx":690
  *             thisrow = np.PyArray_GETPTR1(arr, idata)
@@ -37958,9 +35197,6 @@
       __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 668 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 668 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 668 "root_numpy/src/tree.pyx"
@@ -37981,7 +35217,7 @@
         __Pyx_AddTraceback("_librootnumpy.array2tree", __pyx_clineno, __pyx_lineno, __pyx_filename);

 #line 698 "root_numpy/src/tree.pyx"
-        if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_15) < 0) __PYX_ERR(2, 698, __pyx_L9_except_error)
+        if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_10) < 0) __PYX_ERR(2, 698, __pyx_L9_except_error)

 #line 698 "root_numpy/src/tree.pyx"
         __Pyx_GOTREF(__pyx_t_5);
@@ -37990,7 +35226,7 @@
         __Pyx_GOTREF(__pyx_t_6);

 #line 698 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_15);
+        __Pyx_GOTREF(__pyx_t_10);

         /* "root_numpy/src/tree.pyx":699
  *
@@ -38043,11 +35279,11 @@
         __Pyx_GIVEREF(__pyx_t_6);

 #line 701 "root_numpy/src/tree.pyx"
-        __Pyx_XGIVEREF(__pyx_t_15);
+        __Pyx_XGIVEREF(__pyx_t_10);

 #line 701 "root_numpy/src/tree.pyx"
-        __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_6, __pyx_t_15);
-        __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_15 = 0;
+        __Pyx_ErrRestoreWithState(__pyx_t_5, __pyx_t_6, __pyx_t_10);
+        __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_10 = 0;
 #line 701 "root_numpy/src/tree.pyx"

@@ -38107,13 +35343,13 @@
     /*normal exit:*/{

 #line 704 "root_numpy/src/tree.pyx"
-      __pyx_t_21 = __pyx_v_converters.size();
+      __pyx_t_20 = __pyx_v_converters.size();

 #line 704 "root_numpy/src/tree.pyx"
-      __pyx_t_22 = __pyx_t_21;
+      __pyx_t_21 = __pyx_t_20;

 #line 704 "root_numpy/src/tree.pyx"
-      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_22; __pyx_t_9+=1) {
+      for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_21; __pyx_t_9+=1) {

 #line 704 "root_numpy/src/tree.pyx"
         __pyx_v_icol = __pyx_t_9;
@@ -38151,7 +35387,7 @@
       __Pyx_PyThreadState_assign

 #line 705 "root_numpy/src/tree.pyx"
-      __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0;
+      __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0;

 #line 705 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
@@ -38160,19 +35396,16 @@
       __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 705 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 705 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 705 "root_numpy/src/tree.pyx"
       __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 705 "root_numpy/src/tree.pyx"
-      __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+      __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 705 "root_numpy/src/tree.pyx"
-      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_25, &__pyx_t_26, &__pyx_t_27);
+      if (PY_MAJOR_VERSION >= 3) __Pyx_ExceptionSwap(&__pyx_t_24, &__pyx_t_25, &__pyx_t_26);

 #line 705 "root_numpy/src/tree.pyx"
       if ((PY_MAJOR_VERSION < 3) || unlikely(__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2) < 0)) __Pyx_ErrFetch(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2);
@@ -38187,16 +35420,16 @@
       __Pyx_XGOTREF(__pyx_t_2);

 #line 705 "root_numpy/src/tree.pyx"
+      __Pyx_XGOTREF(__pyx_t_24);
+
+#line 705 "root_numpy/src/tree.pyx"
       __Pyx_XGOTREF(__pyx_t_25);

 #line 705 "root_numpy/src/tree.pyx"
       __Pyx_XGOTREF(__pyx_t_26);

 #line 705 "root_numpy/src/tree.pyx"
-      __Pyx_XGOTREF(__pyx_t_27);
-
-#line 705 "root_numpy/src/tree.pyx"
-      __pyx_t_13 = __pyx_lineno; __pyx_t_23 = __pyx_clineno; __pyx_t_24 = __pyx_filename;
+      __pyx_t_13 = __pyx_lineno; __pyx_t_22 = __pyx_clineno; __pyx_t_23 = __pyx_filename;

 #line 705 "root_numpy/src/tree.pyx"
       {
@@ -38210,13 +35443,13 @@
  */

 #line 704 "root_numpy/src/tree.pyx"
-        __pyx_t_21 = __pyx_v_converters.size();
+        __pyx_t_20 = __pyx_v_converters.size();

 #line 704 "root_numpy/src/tree.pyx"
-        __pyx_t_22 = __pyx_t_21;
+        __pyx_t_21 = __pyx_t_20;

 #line 704 "root_numpy/src/tree.pyx"
-        for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_22; __pyx_t_9+=1) {
+        for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_21; __pyx_t_9+=1) {

 #line 704 "root_numpy/src/tree.pyx"
           __pyx_v_icol = __pyx_t_9;
@@ -38242,16 +35475,16 @@
       if (PY_MAJOR_VERSION >= 3) {

 #line 705 "root_numpy/src/tree.pyx"
+        __Pyx_XGIVEREF(__pyx_t_24);
+
+#line 705 "root_numpy/src/tree.pyx"
         __Pyx_XGIVEREF(__pyx_t_25);

 #line 705 "root_numpy/src/tree.pyx"
         __Pyx_XGIVEREF(__pyx_t_26);

 #line 705 "root_numpy/src/tree.pyx"
-        __Pyx_XGIVEREF(__pyx_t_27);
-
-#line 705 "root_numpy/src/tree.pyx"
-        __Pyx_ExceptionReset(__pyx_t_25, __pyx_t_26, __pyx_t_27);
+        __Pyx_ExceptionReset(__pyx_t_24, __pyx_t_25, __pyx_t_26);

 #line 705 "root_numpy/src/tree.pyx"
       }
@@ -38269,10 +35502,10 @@
       __Pyx_ErrRestore(__pyx_t_4, __pyx_t_3, __pyx_t_2);

 #line 705 "root_numpy/src/tree.pyx"
-      __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0; __pyx_t_27 = 0;
+      __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_24 = 0; __pyx_t_25 = 0; __pyx_t_26 = 0;

 #line 705 "root_numpy/src/tree.pyx"
-      __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_23; __pyx_filename = __pyx_t_24;
+      __pyx_lineno = __pyx_t_13; __pyx_clineno = __pyx_t_22; __pyx_filename = __pyx_t_23;

 #line 705 "root_numpy/src/tree.pyx"
       goto __pyx_L1_error;
@@ -38342,9 +35575,6 @@

 #line 651 "root_numpy/src/tree.pyx"
   __Pyx_XDECREF(__pyx_t_14);
-
-#line 651 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_15);

 #line 651 "root_numpy/src/tree.pyx"
   __Pyx_AddTraceback("_librootnumpy.array2tree", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -38394,7 +35624,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_17array2tree_toCObj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_17array2tree_toCObj =
 #line 711 "root_numpy/src/tree.pyx"
-{"array2tree_toCObj", (PyCFunction)__pyx_pw_13_librootnumpy_17array2tree_toCObj, METH_VARARGS|METH_KEYWORDS, 0};
+{"array2tree_toCObj", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_17array2tree_toCObj, METH_VARARGS|METH_KEYWORDS, 0};

 #line 711 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_17array2tree_toCObj(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -38841,7 +36071,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_19array2root(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_19array2root =
 #line 720 "root_numpy/src/tree.pyx"
-{"array2root", (PyCFunction)__pyx_pw_13_librootnumpy_19array2root, METH_VARARGS|METH_KEYWORDS, 0};
+{"array2root", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_19array2root, METH_VARARGS|METH_KEYWORDS, 0};

 #line 720 "root_numpy/src/tree.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_19array2root(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -39109,9 +36339,42 @@
   TFile *__pyx_v_rfile
 #line 720 "root_numpy/src/tree.pyx"
 ;
+  TDirectory *__pyx_v_tdf
+#line 720 "root_numpy/src/tree.pyx"
+;
+  TKey *__pyx_v_key
+#line 720 "root_numpy/src/tree.pyx"
+;
+  TList *__pyx_v_keys
+#line 720 "root_numpy/src/tree.pyx"
+;
   TTree *__pyx_v_tree
 #line 720 "root_numpy/src/tree.pyx"
 ;
+  PyObject *__pyx_v_dirs = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;
+  PyObject *__pyx_v_tname = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;
+  PyObject *__pyx_v_path = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;
+  PyObject *__pyx_v_i = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;
+  PyObject *__pyx_v_d = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;
+  int __pyx_v_j
+#line 720 "root_numpy/src/tree.pyx"
+;
+  PyObject *__pyx_v_clsname = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;
+  PyObject *__pyx_v_clsToCreate = NULL
+#line 720 "root_numpy/src/tree.pyx"
+;

 #line 720 "root_numpy/src/tree.pyx"
   PyObject *__pyx_r = NULL;
@@ -39138,16 +36401,43 @@
   PyObject *__pyx_t_6 = NULL;

 #line 720 "root_numpy/src/tree.pyx"
-  PyObject *__pyx_t_7 = NULL;
+  Py_ssize_t __pyx_t_7;

 #line 720 "root_numpy/src/tree.pyx"
-  std::string __pyx_t_8;
+  PyObject *__pyx_t_8 = NULL;

 #line 720 "root_numpy/src/tree.pyx"
-  TTree *__pyx_t_9;
+  PyObject *(*__pyx_t_9)(PyObject *);

 #line 720 "root_numpy/src/tree.pyx"
-  struct __pyx_opt_args_13_librootnumpy_array2tree __pyx_t_10;
+  PyObject *__pyx_t_10 = NULL;
+
+#line 720 "root_numpy/src/tree.pyx"
+  int __pyx_t_11;
+
+#line 720 "root_numpy/src/tree.pyx"
+  int __pyx_t_12;
+
+#line 720 "root_numpy/src/tree.pyx"
+  int __pyx_t_13;
+
+#line 720 "root_numpy/src/tree.pyx"
+  Py_ssize_t __pyx_t_14;
+
+#line 720 "root_numpy/src/tree.pyx"
+  int __pyx_t_15;
+
+#line 720 "root_numpy/src/tree.pyx"
+  PyObject *__pyx_t_16 = NULL;
+
+#line 720 "root_numpy/src/tree.pyx"
+  std::string __pyx_t_17;
+
+#line 720 "root_numpy/src/tree.pyx"
+  TTree *__pyx_t_18;
+
+#line 720 "root_numpy/src/tree.pyx"
+  struct __pyx_opt_args_13_librootnumpy_array2tree __pyx_t_19;

 #line 720 "root_numpy/src/tree.pyx"
   __Pyx_RefNannySetupContext("array2root", 0);
@@ -39228,100 +36518,16 @@
     }

 #line 723 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_6) {
+    __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filename);

 #line 723 "root_numpy/src/tree.pyx"
-      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filename); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 723, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 723 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_4);
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 723, __pyx_L1_error)

 #line 723 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 723 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 723 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_5)) {
-
-#line 723 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_filename};
-
-#line 723 "root_numpy/src/tree.pyx"
-        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 723, __pyx_L1_error)
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 723 "root_numpy/src/tree.pyx"
-      } else
-
-#line 723 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 723 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 723 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
-
-#line 723 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_6, __pyx_v_filename};
-
-#line 723 "root_numpy/src/tree.pyx"
-        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 723, __pyx_L1_error)
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 723 "root_numpy/src/tree.pyx"
-      } else
-
-#line 723 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 723 "root_numpy/src/tree.pyx"
-      {
-
-#line 723 "root_numpy/src/tree.pyx"
-        __pyx_t_7 = PyTuple_New(1+1); if (unlikely(!__pyx_t_7)) __PYX_ERR(2, 723, __pyx_L1_error)
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_7);
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_v_filename);
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_v_filename);
-
-#line 723 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_7, 0+1, __pyx_v_filename);
-
-#line 723 "root_numpy/src/tree.pyx"
-        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 723, __pyx_L1_error)
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 723 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 723 "root_numpy/src/tree.pyx"
-      }
-
-#line 723 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_4);

 #line 723 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -39360,7 +36566,7 @@
  *         raise IOError("cannot open file {0}".format(filename))
  *     if not rfile.IsWritable():             # <<<<<<<<<<<<<<
  *         raise IOError("file {0} is not writable".format(filename))
- *     # If a tree with that name exists, we want to update it
+ *     cdef TDirectory* tdf = NULL
  */

 #line 724 "root_numpy/src/tree.pyx"
@@ -39373,8 +36579,8 @@
  *         raise IOError("cannot open file {0}".format(filename))
  *     if not rfile.IsWritable():
  *         raise IOError("file {0} is not writable".format(filename))             # <<<<<<<<<<<<<<
- *     # If a tree with that name exists, we want to update it
- *     cdef TTree* tree = <TTree*> rfile.Get(treename)
+ *     cdef TDirectory* tdf = NULL
+ *     cdef TKey* key = NULL
  */

 #line 725 "root_numpy/src/tree.pyx"
@@ -39384,22 +36590,22 @@
     __Pyx_GOTREF(__pyx_t_4);

 #line 725 "root_numpy/src/tree.pyx"
-    __pyx_t_7 = NULL;
+    __pyx_t_6 = NULL;

 #line 725 "root_numpy/src/tree.pyx"
     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {

 #line 725 "root_numpy/src/tree.pyx"
-      __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
+      __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);

 #line 725 "root_numpy/src/tree.pyx"
-      if (likely(__pyx_t_7)) {
+      if (likely(__pyx_t_6)) {

 #line 725 "root_numpy/src/tree.pyx"
         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);

 #line 725 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_t_7);
+        __Pyx_INCREF(__pyx_t_6);

 #line 725 "root_numpy/src/tree.pyx"
         __Pyx_INCREF(function);
@@ -39414,100 +36620,16 @@
     }

 #line 725 "root_numpy/src/tree.pyx"
-    if (!__pyx_t_7) {
+    __pyx_t_5 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_filename);

 #line 725 "root_numpy/src/tree.pyx"
-      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_filename); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 725, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 725 "root_numpy/src/tree.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
+    if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 725, __pyx_L1_error)

 #line 725 "root_numpy/src/tree.pyx"
-    } else {
-
-#line 725 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 725 "root_numpy/src/tree.pyx"
-      if (PyFunction_Check(__pyx_t_4)) {
-
-#line 725 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_filename};
-
-#line 725 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 725, __pyx_L1_error)
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 725 "root_numpy/src/tree.pyx"
-      } else
-
-#line 725 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 725 "root_numpy/src/tree.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 725 "root_numpy/src/tree.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
-
-#line 725 "root_numpy/src/tree.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_7, __pyx_v_filename};
-
-#line 725 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 725, __pyx_L1_error)
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 725 "root_numpy/src/tree.pyx"
-      } else
-
-#line 725 "root_numpy/src/tree.pyx"
-      #endif
-
-#line 725 "root_numpy/src/tree.pyx"
-      {
-
-#line 725 "root_numpy/src/tree.pyx"
-        __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 725, __pyx_L1_error)
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_7); __pyx_t_7 = NULL;
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_INCREF(__pyx_v_filename);
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_GIVEREF(__pyx_v_filename);
-
-#line 725 "root_numpy/src/tree.pyx"
-        PyTuple_SET_ITEM(__pyx_t_6, 0+1, __pyx_v_filename);
-
-#line 725 "root_numpy/src/tree.pyx"
-        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 725, __pyx_L1_error)
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 725 "root_numpy/src/tree.pyx"
-        __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 725 "root_numpy/src/tree.pyx"
-      }
-
-#line 725 "root_numpy/src/tree.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_5);

 #line 725 "root_numpy/src/tree.pyx"
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -39535,97 +36657,1254 @@
  *         raise IOError("cannot open file {0}".format(filename))
  *     if not rfile.IsWritable():             # <<<<<<<<<<<<<<
  *         raise IOError("file {0} is not writable".format(filename))
- *     # If a tree with that name exists, we want to update it
+ *     cdef TDirectory* tdf = NULL
  */

 #line 724 "root_numpy/src/tree.pyx"
   }

+  /* "root_numpy/src/tree.pyx":726
+ *     if not rfile.IsWritable():
+ *         raise IOError("file {0} is not writable".format(filename))
+ *     cdef TDirectory* tdf = NULL             # <<<<<<<<<<<<<<
+ *     cdef TKey* key = NULL
+ *     cdef TList* keys = NULL
+ */
+
+#line 726 "root_numpy/src/tree.pyx"
+  __pyx_v_tdf = NULL;
+
   /* "root_numpy/src/tree.pyx":727
  *         raise IOError("file {0} is not writable".format(filename))
+ *     cdef TDirectory* tdf = NULL
+ *     cdef TKey* key = NULL             # <<<<<<<<<<<<<<
+ *     cdef TList* keys = NULL
+ *
+ */
+
+#line 727 "root_numpy/src/tree.pyx"
+  __pyx_v_key = NULL;
+
+  /* "root_numpy/src/tree.pyx":728
+ *     cdef TDirectory* tdf = NULL
+ *     cdef TKey* key = NULL
+ *     cdef TList* keys = NULL             # <<<<<<<<<<<<<<
+ *
+ *     # If a tree with that name exists, we want to update it
+ */
+
+#line 728 "root_numpy/src/tree.pyx"
+  __pyx_v_keys = NULL;
+
+  /* "root_numpy/src/tree.pyx":731
+ *
  *     # If a tree with that name exists, we want to update it
  *     cdef TTree* tree = <TTree*> rfile.Get(treename)             # <<<<<<<<<<<<<<
- *     tree = array2tree(arr, name=treename, tree=tree)
- *     tree.Write(treename, kOverwrite)
- */
-
-#line 727 "root_numpy/src/tree.pyx"
-  __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_treename); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 727, __pyx_L1_error)
-
-#line 727 "root_numpy/src/tree.pyx"
+ *
+ *     *dirs, tname = treename.split('/')
+ */
+
+#line 731 "root_numpy/src/tree.pyx"
+  __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_treename); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 731, __pyx_L1_error)
+
+#line 731 "root_numpy/src/tree.pyx"
   __pyx_v_tree = ((TTree *)__pyx_v_rfile->Get(__pyx_t_2));

-  /* "root_numpy/src/tree.pyx":728
- *     # If a tree with that name exists, we want to update it
+  /* "root_numpy/src/tree.pyx":733
  *     cdef TTree* tree = <TTree*> rfile.Get(treename)
- *     tree = array2tree(arr, name=treename, tree=tree)             # <<<<<<<<<<<<<<
- *     tree.Write(treename, kOverwrite)
+ *
+ *     *dirs, tname = treename.split('/')             # <<<<<<<<<<<<<<
+ *     if dirs:
+ *         path = ''
+ */
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_treename, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 733, __pyx_L1_error)
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_GOTREF(__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_6 = NULL;
+
+#line 733 "root_numpy/src/tree.pyx"
+  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+
+#line 733 "root_numpy/src/tree.pyx"
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+    if (likely(__pyx_t_6)) {
+
+#line 733 "root_numpy/src/tree.pyx"
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+      __Pyx_INCREF(__pyx_t_6);
+
+#line 733 "root_numpy/src/tree.pyx"
+      __Pyx_INCREF(function);
+
+#line 733 "root_numpy/src/tree.pyx"
+      __Pyx_DECREF_SET(__pyx_t_5, function);
+
+#line 733 "root_numpy/src/tree.pyx"
+    }
+
+#line 733 "root_numpy/src/tree.pyx"
+  }
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_4 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_kp_s__10) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_s__10);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 733 "root_numpy/src/tree.pyx"
+  if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 733, __pyx_L1_error)
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_GOTREF(__pyx_t_4);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_5 = PySequence_List(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 733, __pyx_L1_error)
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_GOTREF(__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_7 = PyList_GET_SIZE(__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+  if (unlikely(__pyx_t_7 < 1)) {
+
+#line 733 "root_numpy/src/tree.pyx"
+    __Pyx_RaiseNeedMoreValuesError(0+__pyx_t_7); __PYX_ERR(2, 733, __pyx_L1_error)
+
+#line 733 "root_numpy/src/tree.pyx"
+  }
+
+#line 733 "root_numpy/src/tree.pyx"
+  #if CYTHON_COMPILING_IN_CPYTHON
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_6 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_7-1);
+
+#line 733 "root_numpy/src/tree.pyx"
+  ((PyVarObject*)__pyx_t_5)->ob_size--;
+
+#line 733 "root_numpy/src/tree.pyx"
+  #else
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_6 = PySequence_ITEM(__pyx_t_5, __pyx_t_7-1);
+
+#line 733 "root_numpy/src/tree.pyx"
+  #endif
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_GOTREF(__pyx_t_6);
+
+#line 733 "root_numpy/src/tree.pyx"
+  #if !CYTHON_COMPILING_IN_CPYTHON
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_8 = PySequence_GetSlice(__pyx_t_5, 0, __pyx_t_7-1); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 733, __pyx_L1_error)
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_GOTREF(__pyx_t_8);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __Pyx_DECREF(__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_5 = __pyx_t_8; __pyx_t_8 = NULL;
+
+#line 733 "root_numpy/src/tree.pyx"
+  #else
+
+#line 733 "root_numpy/src/tree.pyx"
+  (void)__pyx_t_8;
+
+#line 733 "root_numpy/src/tree.pyx"
+  #endif
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_v_dirs = ((PyObject*)__pyx_t_5);
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_5 = 0;
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_v_tname = __pyx_t_6;
+
+#line 733 "root_numpy/src/tree.pyx"
+  __pyx_t_6 = 0;
+
+  /* "root_numpy/src/tree.pyx":734
+ *
+ *     *dirs, tname = treename.split('/')
+ *     if dirs:             # <<<<<<<<<<<<<<
+ *         path = ''
+ *         # check if an object with a conflicting path exists
+ */
+
+#line 734 "root_numpy/src/tree.pyx"
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_dirs); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 734, __pyx_L1_error)
+
+#line 734 "root_numpy/src/tree.pyx"
+  if (__pyx_t_3) {
+
+    /* "root_numpy/src/tree.pyx":735
+ *     *dirs, tname = treename.split('/')
+ *     if dirs:
+ *         path = ''             # <<<<<<<<<<<<<<
+ *         # check if an object with a conflicting path exists
+ *         for i, d in enumerate(dirs + [tname]):
+ */
+
+#line 735 "root_numpy/src/tree.pyx"
+    __Pyx_INCREF(__pyx_kp_s__9);
+
+#line 735 "root_numpy/src/tree.pyx"
+    __pyx_v_path = __pyx_kp_s__9;
+
+    /* "root_numpy/src/tree.pyx":737
+ *         path = ''
+ *         # check if an object with a conflicting path exists
+ *         for i, d in enumerate(dirs + [tname]):             # <<<<<<<<<<<<<<
+ *             if path == '':
+ *                 keys = rfile.GetListOfKeys()
+ */
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_INCREF(__pyx_int_0);
+
+#line 737 "root_numpy/src/tree.pyx"
+    __pyx_t_4 = __pyx_int_0;
+
+#line 737 "root_numpy/src/tree.pyx"
+    __pyx_t_6 = PyList_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_GOTREF(__pyx_t_6);
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_INCREF(__pyx_v_tname);
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_GIVEREF(__pyx_v_tname);
+
+#line 737 "root_numpy/src/tree.pyx"
+    PyList_SET_ITEM(__pyx_t_6, 0, __pyx_v_tname);
+
+#line 737 "root_numpy/src/tree.pyx"
+    __pyx_t_5 = PyNumber_Add(__pyx_v_dirs, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_GOTREF(__pyx_t_5);
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 737 "root_numpy/src/tree.pyx"
+    if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_6 = __pyx_t_5; __Pyx_INCREF(__pyx_t_6); __pyx_t_7 = 0;
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_9 = NULL;
+
+#line 737 "root_numpy/src/tree.pyx"
+    } else {
+      __pyx_t_7 = -1;
+#line 737 "root_numpy/src/tree.pyx"
+__pyx_t_6 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+      __Pyx_GOTREF(__pyx_t_6);
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_9 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+    }
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 737 "root_numpy/src/tree.pyx"
+    for (;;) {
+
+#line 737 "root_numpy/src/tree.pyx"
+      if (likely(!__pyx_t_9)) {
+
+#line 737 "root_numpy/src/tree.pyx"
+        if (likely(PyList_CheckExact(__pyx_t_6))) {
+
+#line 737 "root_numpy/src/tree.pyx"
+          if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_6)) break;
+
+#line 737 "root_numpy/src/tree.pyx"
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+
+#line 737 "root_numpy/src/tree.pyx"
+          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+          #else
+
+#line 737 "root_numpy/src/tree.pyx"
+          __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_5);
+
+#line 737 "root_numpy/src/tree.pyx"
+          #endif
+
+#line 737 "root_numpy/src/tree.pyx"
+        } else {
+
+#line 737 "root_numpy/src/tree.pyx"
+          if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
+
+#line 737 "root_numpy/src/tree.pyx"
+          #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
+
+#line 737 "root_numpy/src/tree.pyx"
+          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+          #else
+
+#line 737 "root_numpy/src/tree.pyx"
+          __pyx_t_5 = PySequence_ITEM(__pyx_t_6, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_5);
+
+#line 737 "root_numpy/src/tree.pyx"
+          #endif
+
+#line 737 "root_numpy/src/tree.pyx"
+        }
+      } else
+#line 737 "root_numpy/src/tree.pyx"
+{
+
+#line 737 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = __pyx_t_9(__pyx_t_6);
+
+#line 737 "root_numpy/src/tree.pyx"
+        if (unlikely(!__pyx_t_5)) {
+
+#line 737 "root_numpy/src/tree.pyx"
+          PyObject* exc_type = PyErr_Occurred();
+
+#line 737 "root_numpy/src/tree.pyx"
+          if (exc_type) {
+
+#line 737 "root_numpy/src/tree.pyx"
+            if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
+
+#line 737 "root_numpy/src/tree.pyx"
+            else __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+          }
+
+#line 737 "root_numpy/src/tree.pyx"
+          break;
+
+#line 737 "root_numpy/src/tree.pyx"
+        }
+
+#line 737 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 737 "root_numpy/src/tree.pyx"
+      }
+
+#line 737 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF_SET(__pyx_v_d, __pyx_t_5);
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_5 = 0;
+
+#line 737 "root_numpy/src/tree.pyx"
+      __Pyx_INCREF(__pyx_t_4);
+
+#line 737 "root_numpy/src/tree.pyx"
+      __Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_4);
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 737, __pyx_L1_error)
+
+#line 737 "root_numpy/src/tree.pyx"
+      __Pyx_GOTREF(__pyx_t_5);
+
+#line 737 "root_numpy/src/tree.pyx"
+      __Pyx_DECREF(__pyx_t_4);
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_4 = __pyx_t_5;
+
+#line 737 "root_numpy/src/tree.pyx"
+      __pyx_t_5 = 0;
+
+      /* "root_numpy/src/tree.pyx":738
+ *         # check if an object with a conflicting path exists
+ *         for i, d in enumerate(dirs + [tname]):
+ *             if path == '':             # <<<<<<<<<<<<<<
+ *                 keys = rfile.GetListOfKeys()
+ *                 path = d
+ */
+
+#line 738 "root_numpy/src/tree.pyx"
+      __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_path, __pyx_kp_s__9, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 738, __pyx_L1_error)
+
+#line 738 "root_numpy/src/tree.pyx"
+      if (__pyx_t_3) {
+
+        /* "root_numpy/src/tree.pyx":739
+ *         for i, d in enumerate(dirs + [tname]):
+ *             if path == '':
+ *                 keys = rfile.GetListOfKeys()             # <<<<<<<<<<<<<<
+ *                 path = d
+ *             else:
+ */
+
+#line 739 "root_numpy/src/tree.pyx"
+        __pyx_v_keys = __pyx_v_rfile->GetListOfKeys();
+
+        /* "root_numpy/src/tree.pyx":740
+ *             if path == '':
+ *                 keys = rfile.GetListOfKeys()
+ *                 path = d             # <<<<<<<<<<<<<<
+ *             else:
+ *                 tdf = <TDirectoryFile*> rfile.Get(path)
+ */
+
+#line 740 "root_numpy/src/tree.pyx"
+        __Pyx_INCREF(__pyx_v_d);
+
+#line 740 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF_SET(__pyx_v_path, __pyx_v_d);
+
+        /* "root_numpy/src/tree.pyx":738
+ *         # check if an object with a conflicting path exists
+ *         for i, d in enumerate(dirs + [tname]):
+ *             if path == '':             # <<<<<<<<<<<<<<
+ *                 keys = rfile.GetListOfKeys()
+ *                 path = d
+ */
+
+#line 738 "root_numpy/src/tree.pyx"
+        goto __pyx_L8;
+
+#line 738 "root_numpy/src/tree.pyx"
+      }
+
+      /* "root_numpy/src/tree.pyx":742
+ *                 path = d
+ *             else:
+ *                 tdf = <TDirectoryFile*> rfile.Get(path)             # <<<<<<<<<<<<<<
+ *                 if tdf == NULL:
+ *                     break
+ */
+
+#line 742 "root_numpy/src/tree.pyx"
+      /*else*/ {
+
+#line 742 "root_numpy/src/tree.pyx"
+        __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_path); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 742, __pyx_L1_error)
+
+#line 742 "root_numpy/src/tree.pyx"
+        __pyx_v_tdf = ((TDirectoryFile *)__pyx_v_rfile->Get(__pyx_t_2));
+
+        /* "root_numpy/src/tree.pyx":743
+ *             else:
+ *                 tdf = <TDirectoryFile*> rfile.Get(path)
+ *                 if tdf == NULL:             # <<<<<<<<<<<<<<
+ *                     break
+ *                 keys = tdf.GetListOfKeys()
+ */
+
+#line 743 "root_numpy/src/tree.pyx"
+        __pyx_t_3 = ((__pyx_v_tdf == NULL) != 0);
+
+#line 743 "root_numpy/src/tree.pyx"
+        if (__pyx_t_3) {
+
+          /* "root_numpy/src/tree.pyx":744
+ *                 tdf = <TDirectoryFile*> rfile.Get(path)
+ *                 if tdf == NULL:
+ *                     break             # <<<<<<<<<<<<<<
+ *                 keys = tdf.GetListOfKeys()
+ *                 path += '/' + d
+ */
+
+#line 744 "root_numpy/src/tree.pyx"
+          goto __pyx_L7_break;
+
+          /* "root_numpy/src/tree.pyx":743
+ *             else:
+ *                 tdf = <TDirectoryFile*> rfile.Get(path)
+ *                 if tdf == NULL:             # <<<<<<<<<<<<<<
+ *                     break
+ *                 keys = tdf.GetListOfKeys()
+ */
+
+#line 743 "root_numpy/src/tree.pyx"
+        }
+
+        /* "root_numpy/src/tree.pyx":745
+ *                 if tdf == NULL:
+ *                     break
+ *                 keys = tdf.GetListOfKeys()             # <<<<<<<<<<<<<<
+ *                 path += '/' + d
+ *             if keys == NULL:
+ */
+
+#line 745 "root_numpy/src/tree.pyx"
+        __pyx_v_keys = __pyx_v_tdf->GetListOfKeys();
+
+        /* "root_numpy/src/tree.pyx":746
+ *                     break
+ *                 keys = tdf.GetListOfKeys()
+ *                 path += '/' + d             # <<<<<<<<<<<<<<
+ *             if keys == NULL:
+ *                 raise IOError("unable to get keys in {0}".format(filename))
+ */
+
+#line 746 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = PyNumber_Add(__pyx_kp_s__10, __pyx_v_d); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 746, __pyx_L1_error)
+
+#line 746 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 746 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = PyNumber_InPlaceAdd(__pyx_v_path, __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 746, __pyx_L1_error)
+
+#line 746 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_8);
+
+#line 746 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 746 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF_SET(__pyx_v_path, __pyx_t_8);
+
+#line 746 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = 0;
+
+#line 746 "root_numpy/src/tree.pyx"
+      }
+
+#line 746 "root_numpy/src/tree.pyx"
+      __pyx_L8:;
+
+      /* "root_numpy/src/tree.pyx":747
+ *                 keys = tdf.GetListOfKeys()
+ *                 path += '/' + d
+ *             if keys == NULL:             # <<<<<<<<<<<<<<
+ *                 raise IOError("unable to get keys in {0}".format(filename))
+ *
+ */
+
+#line 747 "root_numpy/src/tree.pyx"
+      __pyx_t_3 = ((__pyx_v_keys == NULL) != 0);
+
+#line 747 "root_numpy/src/tree.pyx"
+      if (unlikely(__pyx_t_3)) {
+
+        /* "root_numpy/src/tree.pyx":748
+ *                 path += '/' + d
+ *             if keys == NULL:
+ *                 raise IOError("unable to get keys in {0}".format(filename))             # <<<<<<<<<<<<<<
+ *
+ *             for j in range(keys.GetEntries()):
+ */
+
+#line 748 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_unable_to_get_keys_in_0, __pyx_n_s_format); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 748, __pyx_L1_error)
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 748 "root_numpy/src/tree.pyx"
+        __pyx_t_10 = NULL;
+
+#line 748 "root_numpy/src/tree.pyx"
+        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+
+#line 748 "root_numpy/src/tree.pyx"
+          __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_5);
+
+#line 748 "root_numpy/src/tree.pyx"
+          if (likely(__pyx_t_10)) {
+
+#line 748 "root_numpy/src/tree.pyx"
+            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+
+#line 748 "root_numpy/src/tree.pyx"
+            __Pyx_INCREF(__pyx_t_10);
+
+#line 748 "root_numpy/src/tree.pyx"
+            __Pyx_INCREF(function);
+
+#line 748 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF_SET(__pyx_t_5, function);
+
+#line 748 "root_numpy/src/tree.pyx"
+          }
+
+#line 748 "root_numpy/src/tree.pyx"
+        }
+
+#line 748 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_10, __pyx_v_filename) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_filename);
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 748 "root_numpy/src/tree.pyx"
+        if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 748, __pyx_L1_error)
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_8);
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 748 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 748, __pyx_L1_error)
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_Raise(__pyx_t_5, 0, 0, 0);
+
+#line 748 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 748 "root_numpy/src/tree.pyx"
+        __PYX_ERR(2, 748, __pyx_L1_error)
+
+        /* "root_numpy/src/tree.pyx":747
+ *                 keys = tdf.GetListOfKeys()
+ *                 path += '/' + d
+ *             if keys == NULL:             # <<<<<<<<<<<<<<
+ *                 raise IOError("unable to get keys in {0}".format(filename))
+ *
+ */
+
+#line 747 "root_numpy/src/tree.pyx"
+      }
+
+      /* "root_numpy/src/tree.pyx":750
+ *                 raise IOError("unable to get keys in {0}".format(filename))
+ *
+ *             for j in range(keys.GetEntries()):             # <<<<<<<<<<<<<<
+ *                 key = <TKey*> keys.At(j)
+ *                 if key.GetName() != d:
+ */
+
+#line 750 "root_numpy/src/tree.pyx"
+      __pyx_t_11 = __pyx_v_keys->GetEntries();
+
+#line 750 "root_numpy/src/tree.pyx"
+      __pyx_t_12 = __pyx_t_11;
+
+#line 750 "root_numpy/src/tree.pyx"
+      for (__pyx_t_13 = 0; __pyx_t_13 < __pyx_t_12; __pyx_t_13+=1) {
+
+#line 750 "root_numpy/src/tree.pyx"
+        __pyx_v_j = __pyx_t_13;
+
+        /* "root_numpy/src/tree.pyx":751
+ *
+ *             for j in range(keys.GetEntries()):
+ *                 key = <TKey*> keys.At(j)             # <<<<<<<<<<<<<<
+ *                 if key.GetName() != d:
+ *                     continue
+ */
+
+#line 751 "root_numpy/src/tree.pyx"
+        __pyx_v_key = ((TKey *)__pyx_v_keys->At(__pyx_v_j));
+
+        /* "root_numpy/src/tree.pyx":752
+ *             for j in range(keys.GetEntries()):
+ *                 key = <TKey*> keys.At(j)
+ *                 if key.GetName() != d:             # <<<<<<<<<<<<<<
+ *                     continue
+ *                 clsname = str(key.GetClassName())
+ */
+
+#line 752 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = __Pyx_PyStr_FromString(__pyx_v_key->GetName()); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 752, __pyx_L1_error)
+
+#line 752 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 752 "root_numpy/src/tree.pyx"
+        __pyx_t_3 = (__Pyx_PyString_Equals(__pyx_t_5, __pyx_v_d, Py_NE)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 752, __pyx_L1_error)
+
+#line 752 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 752 "root_numpy/src/tree.pyx"
+        if (__pyx_t_3) {
+
+          /* "root_numpy/src/tree.pyx":753
+ *                 key = <TKey*> keys.At(j)
+ *                 if key.GetName() != d:
+ *                     continue             # <<<<<<<<<<<<<<
+ *                 clsname = str(key.GetClassName())
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'
+ */
+
+#line 753 "root_numpy/src/tree.pyx"
+          goto __pyx_L11_continue;
+
+          /* "root_numpy/src/tree.pyx":752
+ *             for j in range(keys.GetEntries()):
+ *                 key = <TKey*> keys.At(j)
+ *                 if key.GetName() != d:             # <<<<<<<<<<<<<<
+ *                     continue
+ *                 clsname = str(key.GetClassName())
+ */
+
+#line 752 "root_numpy/src/tree.pyx"
+        }
+
+        /* "root_numpy/src/tree.pyx":754
+ *                 if key.GetName() != d:
+ *                     continue
+ *                 clsname = str(key.GetClassName())             # <<<<<<<<<<<<<<
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'
+ *                 if clsname != clsToCreate:
+ */
+
+#line 754 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = __Pyx_PyStr_FromString(__pyx_v_key->GetClassName()); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 754, __pyx_L1_error)
+
+#line 754 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 754 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_5); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 754, __pyx_L1_error)
+
+#line 754 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_8);
+
+#line 754 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 754 "root_numpy/src/tree.pyx"
+        __Pyx_XDECREF_SET(__pyx_v_clsname, __pyx_t_8);
+
+#line 754 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = 0;
+
+        /* "root_numpy/src/tree.pyx":755
+ *                     continue
+ *                 clsname = str(key.GetClassName())
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'             # <<<<<<<<<<<<<<
+ *                 if clsname != clsToCreate:
+ *                     raise IOError('{0} with path {1} exists'.format(
+ */
+
+#line 755 "root_numpy/src/tree.pyx"
+        __pyx_t_14 = PyObject_Length(__pyx_v_dirs); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(2, 755, __pyx_L1_error)
+
+#line 755 "root_numpy/src/tree.pyx"
+        __pyx_t_5 = PyInt_FromSsize_t(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(2, 755, __pyx_L1_error)
+
+#line 755 "root_numpy/src/tree.pyx"
+        __Pyx_GOTREF(__pyx_t_5);
+
+#line 755 "root_numpy/src/tree.pyx"
+        __pyx_t_10 = PyObject_RichCompare(__pyx_v_i, __pyx_t_5, Py_LT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 755, __pyx_L1_error)
+
+#line 755 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 755 "root_numpy/src/tree.pyx"
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 755, __pyx_L1_error)
+
+#line 755 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 755 "root_numpy/src/tree.pyx"
+        if (__pyx_t_3) {
+
+#line 755 "root_numpy/src/tree.pyx"
+          __Pyx_INCREF(__pyx_n_s_TDirectoryFile);
+
+#line 755 "root_numpy/src/tree.pyx"
+          __pyx_t_8 = __pyx_n_s_TDirectoryFile;
+
+#line 755 "root_numpy/src/tree.pyx"
+        } else {
+
+#line 755 "root_numpy/src/tree.pyx"
+          __Pyx_INCREF(__pyx_n_s_TTree);
+
+#line 755 "root_numpy/src/tree.pyx"
+          __pyx_t_8 = __pyx_n_s_TTree;
+
+#line 755 "root_numpy/src/tree.pyx"
+        }
+
+#line 755 "root_numpy/src/tree.pyx"
+        __Pyx_XDECREF_SET(__pyx_v_clsToCreate, __pyx_t_8);
+
+#line 755 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = 0;
+
+        /* "root_numpy/src/tree.pyx":756
+ *                 clsname = str(key.GetClassName())
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'
+ *                 if clsname != clsToCreate:             # <<<<<<<<<<<<<<
+ *                     raise IOError('{0} with path {1} exists'.format(
+ *                         clsname, path))
+ */
+
+#line 756 "root_numpy/src/tree.pyx"
+        __pyx_t_8 = PyObject_RichCompare(__pyx_v_clsname, __pyx_v_clsToCreate, Py_NE); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 756, __pyx_L1_error)
+
+#line 756 "root_numpy/src/tree.pyx"
+        __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(2, 756, __pyx_L1_error)
+
+#line 756 "root_numpy/src/tree.pyx"
+        __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 756 "root_numpy/src/tree.pyx"
+        if (unlikely(__pyx_t_3)) {
+
+          /* "root_numpy/src/tree.pyx":757
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'
+ *                 if clsname != clsToCreate:
+ *                     raise IOError('{0} with path {1} exists'.format(             # <<<<<<<<<<<<<<
+ *                         clsname, path))
+ *
+ */
+
+#line 757 "root_numpy/src/tree.pyx"
+          __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_kp_s_0_with_path_1_exists, __pyx_n_s_format); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 757, __pyx_L1_error)
+
+#line 757 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_10);
+
+          /* "root_numpy/src/tree.pyx":758
+ *                 if clsname != clsToCreate:
+ *                     raise IOError('{0} with path {1} exists'.format(
+ *                         clsname, path))             # <<<<<<<<<<<<<<
+ *
+ *         # create the directory and move there
+ */
+
+#line 758 "root_numpy/src/tree.pyx"
+          __pyx_t_5 = NULL;
+
+#line 758 "root_numpy/src/tree.pyx"
+          __pyx_t_15 = 0;
+
+#line 758 "root_numpy/src/tree.pyx"
+          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_10))) {
+
+#line 758 "root_numpy/src/tree.pyx"
+            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_10);
+
+#line 758 "root_numpy/src/tree.pyx"
+            if (likely(__pyx_t_5)) {
+
+#line 758 "root_numpy/src/tree.pyx"
+              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10);
+
+#line 758 "root_numpy/src/tree.pyx"
+              __Pyx_INCREF(__pyx_t_5);
+
+#line 758 "root_numpy/src/tree.pyx"
+              __Pyx_INCREF(function);
+
+#line 758 "root_numpy/src/tree.pyx"
+              __Pyx_DECREF_SET(__pyx_t_10, function);
+
+#line 758 "root_numpy/src/tree.pyx"
+              __pyx_t_15 = 1;
+
+#line 758 "root_numpy/src/tree.pyx"
+            }
+
+#line 758 "root_numpy/src/tree.pyx"
+          }
+
+#line 758 "root_numpy/src/tree.pyx"
+          #if CYTHON_FAST_PYCALL
+
+#line 758 "root_numpy/src/tree.pyx"
+          if (PyFunction_Check(__pyx_t_10)) {
+
+#line 758 "root_numpy/src/tree.pyx"
+            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_clsname, __pyx_v_path};
+
+#line 758 "root_numpy/src/tree.pyx"
+            __pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 757, __pyx_L1_error)
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 758 "root_numpy/src/tree.pyx"
+          } else
+
+#line 758 "root_numpy/src/tree.pyx"
+          #endif
+
+#line 758 "root_numpy/src/tree.pyx"
+          #if CYTHON_FAST_PYCCALL
+
+#line 758 "root_numpy/src/tree.pyx"
+          if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
+
+#line 758 "root_numpy/src/tree.pyx"
+            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_clsname, __pyx_v_path};
+
+#line 758 "root_numpy/src/tree.pyx"
+            __pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_15, 2+__pyx_t_15); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 757, __pyx_L1_error)
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 758 "root_numpy/src/tree.pyx"
+          } else
+
+#line 758 "root_numpy/src/tree.pyx"
+          #endif
+
+#line 758 "root_numpy/src/tree.pyx"
+          {
+
+#line 758 "root_numpy/src/tree.pyx"
+            __pyx_t_16 = PyTuple_New(2+__pyx_t_15); if (unlikely(!__pyx_t_16)) __PYX_ERR(2, 757, __pyx_L1_error)
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_16);
+
+#line 758 "root_numpy/src/tree.pyx"
+            if (__pyx_t_5) {
+
+#line 758 "root_numpy/src/tree.pyx"
+              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_5); __pyx_t_5 = NULL;
+
+#line 758 "root_numpy/src/tree.pyx"
+            }
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_INCREF(__pyx_v_clsname);
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_v_clsname);
+
+#line 758 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_16, 0+__pyx_t_15, __pyx_v_clsname);
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_INCREF(__pyx_v_path);
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_GIVEREF(__pyx_v_path);
+
+#line 758 "root_numpy/src/tree.pyx"
+            PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_15, __pyx_v_path);
+
+#line 758 "root_numpy/src/tree.pyx"
+            __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_16, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(2, 757, __pyx_L1_error)
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_GOTREF(__pyx_t_8);
+
+#line 758 "root_numpy/src/tree.pyx"
+            __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+
+#line 758 "root_numpy/src/tree.pyx"
+          }
+
+#line 758 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+          /* "root_numpy/src/tree.pyx":757
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'
+ *                 if clsname != clsToCreate:
+ *                     raise IOError('{0} with path {1} exists'.format(             # <<<<<<<<<<<<<<
+ *                         clsname, path))
+ *
+ */
+
+#line 757 "root_numpy/src/tree.pyx"
+          __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_builtin_IOError, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(2, 757, __pyx_L1_error)
+
+#line 757 "root_numpy/src/tree.pyx"
+          __Pyx_GOTREF(__pyx_t_10);
+
+#line 757 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 757 "root_numpy/src/tree.pyx"
+          __Pyx_Raise(__pyx_t_10, 0, 0, 0);
+
+#line 757 "root_numpy/src/tree.pyx"
+          __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 757 "root_numpy/src/tree.pyx"
+          __PYX_ERR(2, 757, __pyx_L1_error)
+
+          /* "root_numpy/src/tree.pyx":756
+ *                 clsname = str(key.GetClassName())
+ *                 clsToCreate = 'TDirectoryFile' if i < len(dirs) else 'TTree'
+ *                 if clsname != clsToCreate:             # <<<<<<<<<<<<<<
+ *                     raise IOError('{0} with path {1} exists'.format(
+ *                         clsname, path))
+ */
+
+#line 756 "root_numpy/src/tree.pyx"
+        }
+
+#line 756 "root_numpy/src/tree.pyx"
+        __pyx_L11_continue:;
+
+#line 756 "root_numpy/src/tree.pyx"
+      }
+
+      /* "root_numpy/src/tree.pyx":737
+ *         path = ''
+ *         # check if an object with a conflicting path exists
+ *         for i, d in enumerate(dirs + [tname]):             # <<<<<<<<<<<<<<
+ *             if path == '':
+ *                 keys = rfile.GetListOfKeys()
+ */
+
+#line 737 "root_numpy/src/tree.pyx"
+    }
+
+#line 737 "root_numpy/src/tree.pyx"
+    __pyx_L7_break:;
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 737 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+    /* "root_numpy/src/tree.pyx":761
+ *
+ *         # create the directory and move there
+ *         path = '/'.join(dirs)             # <<<<<<<<<<<<<<
+ *         rfile.mkdir(path)
+ *         rfile.cd(path)
+ */
+
+#line 761 "root_numpy/src/tree.pyx"
+    __pyx_t_4 = __Pyx_PyString_Join(__pyx_kp_s__10, __pyx_v_dirs); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 761, __pyx_L1_error)
+
+#line 761 "root_numpy/src/tree.pyx"
+    __Pyx_GOTREF(__pyx_t_4);
+
+#line 761 "root_numpy/src/tree.pyx"
+    __Pyx_DECREF_SET(__pyx_v_path, __pyx_t_4);
+
+#line 761 "root_numpy/src/tree.pyx"
+    __pyx_t_4 = 0;
+
+    /* "root_numpy/src/tree.pyx":762
+ *         # create the directory and move there
+ *         path = '/'.join(dirs)
+ *         rfile.mkdir(path)             # <<<<<<<<<<<<<<
+ *         rfile.cd(path)
+ *
+ */
+
+#line 762 "root_numpy/src/tree.pyx"
+    __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_path); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 762, __pyx_L1_error)
+
+#line 762 "root_numpy/src/tree.pyx"
+    (void)(__pyx_v_rfile->mkdir(__pyx_t_2));
+
+    /* "root_numpy/src/tree.pyx":763
+ *         path = '/'.join(dirs)
+ *         rfile.mkdir(path)
+ *         rfile.cd(path)             # <<<<<<<<<<<<<<
+ *
+ *         # create tree
+ */
+
+#line 763 "root_numpy/src/tree.pyx"
+    __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_path); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 763, __pyx_L1_error)
+
+#line 763 "root_numpy/src/tree.pyx"
+    (void)(__pyx_v_rfile->cd(__pyx_t_2));
+
+    /* "root_numpy/src/tree.pyx":766
+ *
+ *         # create tree
+ *         if tree == NULL:             # <<<<<<<<<<<<<<
+ *             tree = new TTree(path + '/' + tname, tname)
+ *
+ */
+
+#line 766 "root_numpy/src/tree.pyx"
+    __pyx_t_3 = ((__pyx_v_tree == NULL) != 0);
+
+#line 766 "root_numpy/src/tree.pyx"
+    if (__pyx_t_3) {
+
+      /* "root_numpy/src/tree.pyx":767
+ *         # create tree
+ *         if tree == NULL:
+ *             tree = new TTree(path + '/' + tname, tname)             # <<<<<<<<<<<<<<
+ *
+ *     tree = array2tree(arr, name=tname, tree=tree)
+ */
+
+#line 767 "root_numpy/src/tree.pyx"
+      __pyx_t_4 = PyNumber_Add(__pyx_v_path, __pyx_kp_s__10); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 767, __pyx_L1_error)
+
+#line 767 "root_numpy/src/tree.pyx"
+      __Pyx_GOTREF(__pyx_t_4);
+
+#line 767 "root_numpy/src/tree.pyx"
+      __pyx_t_6 = PyNumber_Add(__pyx_t_4, __pyx_v_tname); if (unlikely(!__pyx_t_6)) __PYX_ERR(2, 767, __pyx_L1_error)
+
+#line 767 "root_numpy/src/tree.pyx"
+      __Pyx_GOTREF(__pyx_t_6);
+
+#line 767 "root_numpy/src/tree.pyx"
+      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 767 "root_numpy/src/tree.pyx"
+      __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_t_6); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 767, __pyx_L1_error)
+
+#line 767 "root_numpy/src/tree.pyx"
+      __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_tname); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(2, 767, __pyx_L1_error)
+
+#line 767 "root_numpy/src/tree.pyx"
+      __pyx_v_tree = new TTree(__pyx_t_2, __pyx_t_1);
+
+#line 767 "root_numpy/src/tree.pyx"
+      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+      /* "root_numpy/src/tree.pyx":766
+ *
+ *         # create tree
+ *         if tree == NULL:             # <<<<<<<<<<<<<<
+ *             tree = new TTree(path + '/' + tname, tname)
+ *
+ */
+
+#line 766 "root_numpy/src/tree.pyx"
+    }
+
+    /* "root_numpy/src/tree.pyx":734
+ *
+ *     *dirs, tname = treename.split('/')
+ *     if dirs:             # <<<<<<<<<<<<<<
+ *         path = ''
+ *         # check if an object with a conflicting path exists
+ */
+
+#line 734 "root_numpy/src/tree.pyx"
+  }
+
+  /* "root_numpy/src/tree.pyx":769
+ *             tree = new TTree(path + '/' + tname, tname)
+ *
+ *     tree = array2tree(arr, name=tname, tree=tree)             # <<<<<<<<<<<<<<
+ *     tree.Write(tname, kOverwrite)
  *     del tree
  */

-#line 728 "root_numpy/src/tree.pyx"
-  if (!(likely(((__pyx_v_arr) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arr, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(2, 728, __pyx_L1_error)
-
-#line 728 "root_numpy/src/tree.pyx"
-  __pyx_t_8 = __pyx_convert_string_from_py_std__in_string(__pyx_v_treename); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 728, __pyx_L1_error)
-
-#line 728 "root_numpy/src/tree.pyx"
-  __pyx_t_10.__pyx_n = 2;
-
-#line 728 "root_numpy/src/tree.pyx"
-  __pyx_t_10.name = __pyx_t_8;
-
-#line 728 "root_numpy/src/tree.pyx"
-  __pyx_t_10.tree = __pyx_v_tree;
-
-#line 728 "root_numpy/src/tree.pyx"
-  __pyx_t_9 = __pyx_f_13_librootnumpy_array2tree(((PyArrayObject *)__pyx_v_arr), &__pyx_t_10); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 728, __pyx_L1_error)
-
-#line 728 "root_numpy/src/tree.pyx"
-  __pyx_v_tree = __pyx_t_9;
-
-  /* "root_numpy/src/tree.pyx":729
- *     cdef TTree* tree = <TTree*> rfile.Get(treename)
- *     tree = array2tree(arr, name=treename, tree=tree)
- *     tree.Write(treename, kOverwrite)             # <<<<<<<<<<<<<<
+#line 769 "root_numpy/src/tree.pyx"
+  if (!(likely(((__pyx_v_arr) == Py_None) || likely(__Pyx_TypeTest(__pyx_v_arr, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(2, 769, __pyx_L1_error)
+
+#line 769 "root_numpy/src/tree.pyx"
+  __pyx_t_17 = __pyx_convert_string_from_py_std__in_string(__pyx_v_tname); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 769, __pyx_L1_error)
+
+#line 769 "root_numpy/src/tree.pyx"
+  __pyx_t_19.__pyx_n = 2;
+
+#line 769 "root_numpy/src/tree.pyx"
+  __pyx_t_19.name = __pyx_t_17;
+
+#line 769 "root_numpy/src/tree.pyx"
+  __pyx_t_19.tree = __pyx_v_tree;
+
+#line 769 "root_numpy/src/tree.pyx"
+  __pyx_t_18 = __pyx_f_13_librootnumpy_array2tree(((PyArrayObject *)__pyx_v_arr), &__pyx_t_19); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 769, __pyx_L1_error)
+
+#line 769 "root_numpy/src/tree.pyx"
+  __pyx_v_tree = __pyx_t_18;
+
+  /* "root_numpy/src/tree.pyx":770
+ *
+ *     tree = array2tree(arr, name=tname, tree=tree)
+ *     tree.Write(tname, kOverwrite)             # <<<<<<<<<<<<<<
  *     del tree
  *     rfile.Close()
  */

-#line 729 "root_numpy/src/tree.pyx"
-  __pyx_t_2 = __Pyx_PyObject_AsString(__pyx_v_treename); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(2, 729, __pyx_L1_error)
-
-#line 729 "root_numpy/src/tree.pyx"
-  (void)(__pyx_v_tree->Write(__pyx_t_2, TObject::kOverwrite));
-
-  /* "root_numpy/src/tree.pyx":730
- *     tree = array2tree(arr, name=treename, tree=tree)
- *     tree.Write(treename, kOverwrite)
+#line 770 "root_numpy/src/tree.pyx"
+  __pyx_t_1 = __Pyx_PyObject_AsString(__pyx_v_tname); if (unlikely((!__pyx_t_1) && PyErr_Occurred())) __PYX_ERR(2, 770, __pyx_L1_error)
+
+#line 770 "root_numpy/src/tree.pyx"
+  (void)(__pyx_v_tree->Write(__pyx_t_1, TObject::kOverwrite));
+
+  /* "root_numpy/src/tree.pyx":771
+ *     tree = array2tree(arr, name=tname, tree=tree)
+ *     tree.Write(tname, kOverwrite)
  *     del tree             # <<<<<<<<<<<<<<
  *     rfile.Close()
  *     del rfile
  */

-#line 730 "root_numpy/src/tree.pyx"
+#line 771 "root_numpy/src/tree.pyx"
   delete __pyx_v_tree;

-  /* "root_numpy/src/tree.pyx":731
- *     tree.Write(treename, kOverwrite)
+  /* "root_numpy/src/tree.pyx":772
+ *     tree.Write(tname, kOverwrite)
  *     del tree
  *     rfile.Close()             # <<<<<<<<<<<<<<
  *     del rfile
  */

-#line 731 "root_numpy/src/tree.pyx"
+#line 772 "root_numpy/src/tree.pyx"
   __pyx_v_rfile->Close();

-  /* "root_numpy/src/tree.pyx":732
+  /* "root_numpy/src/tree.pyx":773
  *     del tree
  *     rfile.Close()
  *     del rfile             # <<<<<<<<<<<<<<
  */

-#line 732 "root_numpy/src/tree.pyx"
+#line 773 "root_numpy/src/tree.pyx"
   delete __pyx_v_rfile;

   /* "root_numpy/src/tree.pyx":720
@@ -39661,7 +37940,13 @@
   __Pyx_XDECREF(__pyx_t_6);

 #line 720 "root_numpy/src/tree.pyx"
-  __Pyx_XDECREF(__pyx_t_7);
+  __Pyx_XDECREF(__pyx_t_8);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_t_10);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_t_16);

 #line 720 "root_numpy/src/tree.pyx"
   __Pyx_AddTraceback("_librootnumpy.array2root", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -39671,6 +37956,27 @@

 #line 720 "root_numpy/src/tree.pyx"
   __pyx_L0:;
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_dirs);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_tname);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_path);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_i);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_d);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_clsname);
+
+#line 720 "root_numpy/src/tree.pyx"
+  __Pyx_XDECREF(__pyx_v_clsToCreate);

 #line 720 "root_numpy/src/tree.pyx"
   __Pyx_XGIVEREF(__pyx_r);
@@ -41330,7 +39636,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_39h1d_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_39h1d_array =
 #line 62 "root_numpy/src/array.pyx"
-{"h1d_array", (PyCFunction)__pyx_pw_13_librootnumpy_39h1d_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h1d_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_39h1d_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 62 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_39h1d_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -41730,7 +40036,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_41h2d_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_41h2d_array =
 #line 70 "root_numpy/src/array.pyx"
-{"h2d_array", (PyCFunction)__pyx_pw_13_librootnumpy_41h2d_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h2d_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_41h2d_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 70 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_41h2d_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -42130,7 +40436,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_43h3d_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_43h3d_array =
 #line 78 "root_numpy/src/array.pyx"
-{"h3d_array", (PyCFunction)__pyx_pw_13_librootnumpy_43h3d_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h3d_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_43h3d_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 78 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_43h3d_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -42530,7 +40836,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_45h1f_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_45h1f_array =
 #line 86 "root_numpy/src/array.pyx"
-{"h1f_array", (PyCFunction)__pyx_pw_13_librootnumpy_45h1f_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h1f_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_45h1f_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 86 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_45h1f_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -42930,7 +41236,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_47h2f_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_47h2f_array =
 #line 94 "root_numpy/src/array.pyx"
-{"h2f_array", (PyCFunction)__pyx_pw_13_librootnumpy_47h2f_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h2f_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_47h2f_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 94 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_47h2f_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -43330,7 +41636,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_49h3f_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_49h3f_array =
 #line 102 "root_numpy/src/array.pyx"
-{"h3f_array", (PyCFunction)__pyx_pw_13_librootnumpy_49h3f_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h3f_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_49h3f_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 102 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_49h3f_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -43730,7 +42036,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_51h1i_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_51h1i_array =
 #line 110 "root_numpy/src/array.pyx"
-{"h1i_array", (PyCFunction)__pyx_pw_13_librootnumpy_51h1i_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h1i_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_51h1i_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 110 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_51h1i_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -44130,7 +42436,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_53h2i_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_53h2i_array =
 #line 118 "root_numpy/src/array.pyx"
-{"h2i_array", (PyCFunction)__pyx_pw_13_librootnumpy_53h2i_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h2i_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_53h2i_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 118 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_53h2i_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -44530,7 +42836,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_55h3i_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_55h3i_array =
 #line 126 "root_numpy/src/array.pyx"
-{"h3i_array", (PyCFunction)__pyx_pw_13_librootnumpy_55h3i_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h3i_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_55h3i_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 126 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_55h3i_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -44930,7 +43236,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_57h1s_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_57h1s_array =
 #line 134 "root_numpy/src/array.pyx"
-{"h1s_array", (PyCFunction)__pyx_pw_13_librootnumpy_57h1s_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h1s_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_57h1s_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 134 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_57h1s_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -45330,7 +43636,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_59h2s_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_59h2s_array =
 #line 142 "root_numpy/src/array.pyx"
-{"h2s_array", (PyCFunction)__pyx_pw_13_librootnumpy_59h2s_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h2s_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_59h2s_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 142 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_59h2s_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -45730,7 +44036,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_61h3s_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_61h3s_array =
 #line 150 "root_numpy/src/array.pyx"
-{"h3s_array", (PyCFunction)__pyx_pw_13_librootnumpy_61h3s_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h3s_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_61h3s_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 150 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_61h3s_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -46130,7 +44436,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_63h1c_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_63h1c_array =
 #line 158 "root_numpy/src/array.pyx"
-{"h1c_array", (PyCFunction)__pyx_pw_13_librootnumpy_63h1c_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h1c_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_63h1c_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 158 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_63h1c_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -46530,7 +44836,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_65h2c_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_65h2c_array =
 #line 166 "root_numpy/src/array.pyx"
-{"h2c_array", (PyCFunction)__pyx_pw_13_librootnumpy_65h2c_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h2c_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_65h2c_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 166 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_65h2c_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -46930,7 +45236,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_67h3c_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_67h3c_array =
 #line 174 "root_numpy/src/array.pyx"
-{"h3c_array", (PyCFunction)__pyx_pw_13_librootnumpy_67h3c_array, METH_VARARGS|METH_KEYWORDS, 0};
+{"h3c_array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_67h3c_array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 174 "root_numpy/src/array.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_67h3c_array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -47460,7 +45766,7 @@
  */

 #line 8 "root_numpy/src/matrix.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 8, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 8, __pyx_L1_error)

 #line 8 "root_numpy/src/matrix.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -47532,7 +45838,7 @@
   __Pyx_GOTREF(__pyx_t_5);

 #line 8 "root_numpy/src/matrix.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 8, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 8, __pyx_L1_error)

 #line 8 "root_numpy/src/matrix.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -47669,7 +45975,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 14 "root_numpy/src/matrix.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 14, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 14, __pyx_L1_error)

 #line 14 "root_numpy/src/matrix.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -47714,100 +46020,16 @@
   }

 #line 14 "root_numpy/src/matrix.pyx"
-  if (!__pyx_t_5) {
+  __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_arr)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_arr));

 #line 14 "root_numpy/src/matrix.pyx"
-    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_arr)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 14, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 14 "root_numpy/src/matrix.pyx"
-    __Pyx_GOTREF(__pyx_t_6);
+  if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 14, __pyx_L1_error)

 #line 14 "root_numpy/src/matrix.pyx"
-  } else {
-
-#line 14 "root_numpy/src/matrix.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 14 "root_numpy/src/matrix.pyx"
-    if (PyFunction_Check(__pyx_t_4)) {
-
-#line 14 "root_numpy/src/matrix.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_5, ((PyObject *)__pyx_v_arr)};
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 14, __pyx_L1_error)
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 14 "root_numpy/src/matrix.pyx"
-    } else
-
-#line 14 "root_numpy/src/matrix.pyx"
-    #endif
-
-#line 14 "root_numpy/src/matrix.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 14 "root_numpy/src/matrix.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
-
-#line 14 "root_numpy/src/matrix.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_5, ((PyObject *)__pyx_v_arr)};
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 14, __pyx_L1_error)
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 14 "root_numpy/src/matrix.pyx"
-    } else
-
-#line 14 "root_numpy/src/matrix.pyx"
-    #endif
-
-#line 14 "root_numpy/src/matrix.pyx"
-    {
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 14, __pyx_L1_error)
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_INCREF(((PyObject *)__pyx_v_arr));
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_GIVEREF(((PyObject *)__pyx_v_arr));
-
-#line 14 "root_numpy/src/matrix.pyx"
-      PyTuple_SET_ITEM(__pyx_t_3, 0+1, ((PyObject *)__pyx_v_arr));
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 14, __pyx_L1_error)
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 14 "root_numpy/src/matrix.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 14 "root_numpy/src/matrix.pyx"
-    }
-
-#line 14 "root_numpy/src/matrix.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_6);

 #line 14 "root_numpy/src/matrix.pyx"
   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -48055,7 +46277,7 @@
  */

 #line 21 "root_numpy/src/matrix.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 21, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 21, __pyx_L1_error)

 #line 21 "root_numpy/src/matrix.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -48127,7 +46349,7 @@
   __Pyx_GOTREF(__pyx_t_5);

 #line 21 "root_numpy/src/matrix.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 21, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(4, 21, __pyx_L1_error)

 #line 21 "root_numpy/src/matrix.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -48261,7 +46483,7 @@
   __Pyx_XDECREF(__pyx_r);

 #line 27 "root_numpy/src/matrix.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 27, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(4, 27, __pyx_L1_error)

 #line 27 "root_numpy/src/matrix.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -48306,100 +46528,16 @@
   }

 #line 27 "root_numpy/src/matrix.pyx"
-  if (!__pyx_t_5) {
+  __pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, ((PyObject *)__pyx_v_arr)) : __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_arr));

 #line 27 "root_numpy/src/matrix.pyx"
-    __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_4, ((PyObject *)__pyx_v_arr)); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 27, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 27 "root_numpy/src/matrix.pyx"
-    __Pyx_GOTREF(__pyx_t_6);
+  if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 27, __pyx_L1_error)

 #line 27 "root_numpy/src/matrix.pyx"
-  } else {
-
-#line 27 "root_numpy/src/matrix.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 27 "root_numpy/src/matrix.pyx"
-    if (PyFunction_Check(__pyx_t_4)) {
-
-#line 27 "root_numpy/src/matrix.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_5, ((PyObject *)__pyx_v_arr)};
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 27, __pyx_L1_error)
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 27 "root_numpy/src/matrix.pyx"
-    } else
-
-#line 27 "root_numpy/src/matrix.pyx"
-    #endif
-
-#line 27 "root_numpy/src/matrix.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 27 "root_numpy/src/matrix.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
-
-#line 27 "root_numpy/src/matrix.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_5, ((PyObject *)__pyx_v_arr)};
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 27, __pyx_L1_error)
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 27 "root_numpy/src/matrix.pyx"
-    } else
-
-#line 27 "root_numpy/src/matrix.pyx"
-    #endif
-
-#line 27 "root_numpy/src/matrix.pyx"
-    {
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(4, 27, __pyx_L1_error)
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_INCREF(((PyObject *)__pyx_v_arr));
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_GIVEREF(((PyObject *)__pyx_v_arr));
-
-#line 27 "root_numpy/src/matrix.pyx"
-      PyTuple_SET_ITEM(__pyx_t_3, 0+1, ((PyObject *)__pyx_v_arr));
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(4, 27, __pyx_L1_error)
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 27 "root_numpy/src/matrix.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 27 "root_numpy/src/matrix.pyx"
-    }
-
-#line 27 "root_numpy/src/matrix.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_6);

 #line 27 "root_numpy/src/matrix.pyx"
   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -48514,7 +46652,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_73sample_f1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_73sample_f1 =
 #line 6 "root_numpy/src/sample.pyx"
-{"sample_f1", (PyCFunction)__pyx_pw_13_librootnumpy_73sample_f1, METH_VARARGS|METH_KEYWORDS, 0};
+{"sample_f1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_73sample_f1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 6 "root_numpy/src/sample.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_73sample_f1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -48782,7 +46920,7 @@
  */

 #line 9 "root_numpy/src/sample.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 9, __pyx_L1_error)

 #line 9 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -48824,7 +46962,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 9 "root_numpy/src/sample.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 9, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 9, __pyx_L1_error)

 #line 9 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -49050,7 +47188,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_75sample_h1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_75sample_h1 =
 #line 17 "root_numpy/src/sample.pyx"
-{"sample_h1", (PyCFunction)__pyx_pw_13_librootnumpy_75sample_h1, METH_VARARGS|METH_KEYWORDS, 0};
+{"sample_h1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_75sample_h1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 17 "root_numpy/src/sample.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_75sample_h1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -49318,7 +47456,7 @@
  */

 #line 20 "root_numpy/src/sample.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 20, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 20, __pyx_L1_error)

 #line 20 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -49360,7 +47498,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 20 "root_numpy/src/sample.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 20, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 20, __pyx_L1_error)

 #line 20 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -49586,7 +47724,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_77sample_f2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_77sample_f2 =
 #line 28 "root_numpy/src/sample.pyx"
-{"sample_f2", (PyCFunction)__pyx_pw_13_librootnumpy_77sample_f2, METH_VARARGS|METH_KEYWORDS, 0};
+{"sample_f2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_77sample_f2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 28 "root_numpy/src/sample.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_77sample_f2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -49891,7 +48029,7 @@
  */

 #line 33 "root_numpy/src/sample.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 33, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 33, __pyx_L1_error)

 #line 33 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -49957,7 +48095,7 @@
   __Pyx_GOTREF(__pyx_t_4);

 #line 33 "root_numpy/src/sample.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 33, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 33, __pyx_L1_error)

 #line 33 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -50214,7 +48352,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_79sample_h2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_79sample_h2 =
 #line 43 "root_numpy/src/sample.pyx"
-{"sample_h2", (PyCFunction)__pyx_pw_13_librootnumpy_79sample_h2, METH_VARARGS|METH_KEYWORDS, 0};
+{"sample_h2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_79sample_h2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 43 "root_numpy/src/sample.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_79sample_h2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -50519,7 +48657,7 @@
  */

 #line 48 "root_numpy/src/sample.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 48, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 48, __pyx_L1_error)

 #line 48 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -50585,7 +48723,7 @@
   __Pyx_GOTREF(__pyx_t_4);

 #line 48 "root_numpy/src/sample.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 48, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 48, __pyx_L1_error)

 #line 48 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -50842,7 +48980,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_81sample_f3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_81sample_f3 =
 #line 58 "root_numpy/src/sample.pyx"
-{"sample_f3", (PyCFunction)__pyx_pw_13_librootnumpy_81sample_f3, METH_VARARGS|METH_KEYWORDS, 0};
+{"sample_f3", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_81sample_f3, METH_VARARGS|METH_KEYWORDS, 0};

 #line 58 "root_numpy/src/sample.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_81sample_f3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -51167,7 +49305,7 @@
  */

 #line 64 "root_numpy/src/sample.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 64, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 64, __pyx_L1_error)

 #line 64 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -51233,7 +49371,7 @@
   __Pyx_GOTREF(__pyx_t_4);

 #line 64 "root_numpy/src/sample.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 64, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 64, __pyx_L1_error)

 #line 64 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -51507,7 +49645,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_83sample_h3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_83sample_h3 =
 #line 75 "root_numpy/src/sample.pyx"
-{"sample_h3", (PyCFunction)__pyx_pw_13_librootnumpy_83sample_h3, METH_VARARGS|METH_KEYWORDS, 0};
+{"sample_h3", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_83sample_h3, METH_VARARGS|METH_KEYWORDS, 0};

 #line 75 "root_numpy/src/sample.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_83sample_h3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -51832,7 +49970,7 @@
  */

 #line 81 "root_numpy/src/sample.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 81, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 81, __pyx_L1_error)

 #line 81 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -51898,7 +50036,7 @@
   __Pyx_GOTREF(__pyx_t_4);

 #line 81 "root_numpy/src/sample.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 81, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 81, __pyx_L1_error)

 #line 81 "root_numpy/src/sample.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -52169,7 +50307,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_85fill_h1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_85fill_h1 =
 #line 3 "root_numpy/src/hist.pyx"
-{"fill_h1", (PyCFunction)__pyx_pw_13_librootnumpy_85fill_h1, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_h1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_85fill_h1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 3 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_85fill_h1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -52685,7 +50823,7 @@
  */

 #line 10 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 10, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 10, __pyx_L1_error)

 #line 10 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -52706,7 +50844,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 10 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 10, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 10, __pyx_L1_error)

 #line 10 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -52727,7 +50865,7 @@
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 10 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__39, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 10, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 10, __pyx_L1_error)

 #line 10 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -52800,7 +50938,7 @@
  */

 #line 14 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 14, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 14, __pyx_L1_error)

 #line 14 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_5);
@@ -52842,7 +50980,7 @@
     __Pyx_GOTREF(__pyx_t_5);

 #line 14 "root_numpy/src/hist.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 14, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 14, __pyx_L1_error)

 #line 14 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -53301,7 +51439,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_87fill_h2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_87fill_h2 =
 #line 31 "root_numpy/src/hist.pyx"
-{"fill_h2", (PyCFunction)__pyx_pw_13_librootnumpy_87fill_h2, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_h2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_87fill_h2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 31 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_87fill_h2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -53835,7 +51973,7 @@
  */

 #line 38 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 38, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -53856,7 +51994,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 38 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 38, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -53877,7 +52015,7 @@
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 38 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__40, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 38, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -53950,7 +52088,7 @@
  */

 #line 42 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 42, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 42, __pyx_L1_error)

 #line 42 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_5);
@@ -53992,7 +52130,7 @@
     __Pyx_GOTREF(__pyx_t_5);

 #line 42 "root_numpy/src/hist.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 42, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 42, __pyx_L1_error)

 #line 42 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -54469,7 +52607,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_89fill_h3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_89fill_h3 =
 #line 59 "root_numpy/src/hist.pyx"
-{"fill_h3", (PyCFunction)__pyx_pw_13_librootnumpy_89fill_h3, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_h3", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_89fill_h3, METH_VARARGS|METH_KEYWORDS, 0};

 #line 59 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_89fill_h3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -55015,7 +53153,7 @@
  */

 #line 66 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 66, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 66, __pyx_L1_error)

 #line 66 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -55036,7 +53174,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 66 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 66, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 66, __pyx_L1_error)

 #line 66 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -55057,7 +53195,7 @@
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 66 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__41, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 66, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 66, __pyx_L1_error)

 #line 66 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -55130,7 +53268,7 @@
  */

 #line 70 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 70, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 70, __pyx_L1_error)

 #line 70 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_5);
@@ -55172,7 +53310,7 @@
     __Pyx_GOTREF(__pyx_t_5);

 #line 70 "root_numpy/src/hist.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 70, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 70, __pyx_L1_error)

 #line 70 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -55661,7 +53799,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_91fill_p1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_91fill_p1 =
 #line 87 "root_numpy/src/hist.pyx"
-{"fill_p1", (PyCFunction)__pyx_pw_13_librootnumpy_91fill_p1, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_p1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_91fill_p1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 87 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_91fill_p1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -56195,7 +54333,7 @@
  */

 #line 94 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 94, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 94, __pyx_L1_error)

 #line 94 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -56216,7 +54354,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 94 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 94, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 94, __pyx_L1_error)

 #line 94 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -56237,7 +54375,7 @@
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 94 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__42, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 94, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 94, __pyx_L1_error)

 #line 94 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -56310,7 +54448,7 @@
  */

 #line 98 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 98, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 98, __pyx_L1_error)

 #line 98 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_5);
@@ -56352,7 +54490,7 @@
     __Pyx_GOTREF(__pyx_t_5);

 #line 98 "root_numpy/src/hist.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 98, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 98, __pyx_L1_error)

 #line 98 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -56829,7 +54967,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_93fill_p2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_93fill_p2 =
 #line 115 "root_numpy/src/hist.pyx"
-{"fill_p2", (PyCFunction)__pyx_pw_13_librootnumpy_93fill_p2, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_p2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_93fill_p2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 115 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_93fill_p2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -57375,7 +55513,7 @@
  */

 #line 122 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 122, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 122, __pyx_L1_error)

 #line 122 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -57396,7 +55534,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 122 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 122, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 122, __pyx_L1_error)

 #line 122 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -57417,7 +55555,7 @@
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 122 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__43, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 122, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 122, __pyx_L1_error)

 #line 122 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -57490,7 +55628,7 @@
  */

 #line 126 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 126, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 126, __pyx_L1_error)

 #line 126 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_5);
@@ -57532,7 +55670,7 @@
     __Pyx_GOTREF(__pyx_t_5);

 #line 126 "root_numpy/src/hist.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 126, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 126, __pyx_L1_error)

 #line 126 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -58021,7 +56159,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_95fill_p3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_95fill_p3 =
 #line 143 "root_numpy/src/hist.pyx"
-{"fill_p3", (PyCFunction)__pyx_pw_13_librootnumpy_95fill_p3, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_p3", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_95fill_p3, METH_VARARGS|METH_KEYWORDS, 0};

 #line 143 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_95fill_p3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -58579,7 +56717,7 @@
  */

 #line 150 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 150, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 150, __pyx_L1_error)

 #line 150 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -58600,7 +56738,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 150 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 150, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 150, __pyx_L1_error)

 #line 150 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -58621,7 +56759,7 @@
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 150 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__44, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 150, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__33, __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 150, __pyx_L1_error)

 #line 150 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -58694,7 +56832,7 @@
  */

 #line 154 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 154, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 154, __pyx_L1_error)

 #line 154 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_5);
@@ -58736,7 +56874,7 @@
     __Pyx_GOTREF(__pyx_t_5);

 #line 154 "root_numpy/src/hist.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 154, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 154, __pyx_L1_error)

 #line 154 "root_numpy/src/hist.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -59237,7 +57375,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_97thn2array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_97thn2array =
 #line 171 "root_numpy/src/hist.pyx"
-{"thn2array", (PyCFunction)__pyx_pw_13_librootnumpy_97thn2array, METH_VARARGS|METH_KEYWORDS, 0};
+{"thn2array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_97thn2array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 171 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_97thn2array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -59534,7 +57672,7 @@
  */

 #line 176 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 176, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 176, __pyx_L1_error)

 #line 176 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -59605,7 +57743,7 @@
  */

 #line 177 "root_numpy/src/hist.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 177, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(6, 177, __pyx_L1_error)

 #line 177 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -59650,100 +57788,16 @@
   }

 #line 177 "root_numpy/src/hist.pyx"
-  if (!__pyx_t_4) {
+  __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, ((PyObject *)__pyx_v_array)) : __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_array));

 #line 177 "root_numpy/src/hist.pyx"
-    __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, ((PyObject *)__pyx_v_array)); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 177, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 177 "root_numpy/src/hist.pyx"
-    __Pyx_GOTREF(__pyx_t_5);
+  if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 177, __pyx_L1_error)

 #line 177 "root_numpy/src/hist.pyx"
-  } else {
-
-#line 177 "root_numpy/src/hist.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 177 "root_numpy/src/hist.pyx"
-    if (PyFunction_Check(__pyx_t_2)) {
-
-#line 177 "root_numpy/src/hist.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_array)};
-
-#line 177 "root_numpy/src/hist.pyx"
-      __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 177, __pyx_L1_error)
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
-
-#line 177 "root_numpy/src/hist.pyx"
-    } else
-
-#line 177 "root_numpy/src/hist.pyx"
-    #endif
-
-#line 177 "root_numpy/src/hist.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 177 "root_numpy/src/hist.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 177 "root_numpy/src/hist.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_array)};
-
-#line 177 "root_numpy/src/hist.pyx"
-      __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 177, __pyx_L1_error)
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
-
-#line 177 "root_numpy/src/hist.pyx"
-    } else
-
-#line 177 "root_numpy/src/hist.pyx"
-    #endif
-
-#line 177 "root_numpy/src/hist.pyx"
-    {
-
-#line 177 "root_numpy/src/hist.pyx"
-      __pyx_t_3 = PyTuple_New(1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 177, __pyx_L1_error)
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_INCREF(((PyObject *)__pyx_v_array));
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_GIVEREF(((PyObject *)__pyx_v_array));
-
-#line 177 "root_numpy/src/hist.pyx"
-      PyTuple_SET_ITEM(__pyx_t_3, 0+1, ((PyObject *)__pyx_v_array));
-
-#line 177 "root_numpy/src/hist.pyx"
-      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 177, __pyx_L1_error)
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
-
-#line 177 "root_numpy/src/hist.pyx"
-      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-
-#line 177 "root_numpy/src/hist.pyx"
-    }
-
-#line 177 "root_numpy/src/hist.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_5);

 #line 177 "root_numpy/src/hist.pyx"
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -59894,7 +57948,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_99thnsparse2array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_99thnsparse2array =
 #line 185 "root_numpy/src/hist.pyx"
-{"thnsparse2array", (PyCFunction)__pyx_pw_13_librootnumpy_99thnsparse2array, METH_VARARGS|METH_KEYWORDS, 0};
+{"thnsparse2array", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_99thnsparse2array, METH_VARARGS|METH_KEYWORDS, 0};

 #line 185 "root_numpy/src/hist.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_99thnsparse2array(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -60206,7 +58260,7 @@
  */

 #line 190 "root_numpy/src/hist.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 190, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(6, 190, __pyx_L1_error)

 #line 190 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -60277,7 +58331,7 @@
  */

 #line 191 "root_numpy/src/hist.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 191, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(6, 191, __pyx_L1_error)

 #line 191 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -60319,7 +58373,7 @@
   __Pyx_GOTREF(__pyx_t_5);

 #line 191 "root_numpy/src/hist.pyx"
-  __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 191, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_np); if (unlikely(!__pyx_t_3)) __PYX_ERR(6, 191, __pyx_L1_error)

 #line 191 "root_numpy/src/hist.pyx"
   __Pyx_GOTREF(__pyx_t_3);
@@ -60690,7 +58744,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_101fill_g1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_101fill_g1 =
 #line 3 "root_numpy/src/graph.pyx"
-{"fill_g1", (PyCFunction)__pyx_pw_13_librootnumpy_101fill_g1, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_g1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_101fill_g1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 3 "root_numpy/src/graph.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_101fill_g1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -61121,7 +59175,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_103fill_g2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_103fill_g2 =
 #line 16 "root_numpy/src/graph.pyx"
-{"fill_g2", (PyCFunction)__pyx_pw_13_librootnumpy_103fill_g2, METH_VARARGS|METH_KEYWORDS, 0};
+{"fill_g2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_103fill_g2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 16 "root_numpy/src/graph.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_103fill_g2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -61561,7 +59615,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_105evaluate_h1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_105evaluate_h1 =
 #line 3 "root_numpy/src/evaluate.pyx"
-{"evaluate_h1", (PyCFunction)__pyx_pw_13_librootnumpy_105evaluate_h1, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_h1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_105evaluate_h1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 3 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_105evaluate_h1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -61894,7 +59948,7 @@
  */

 #line 8 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 8, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 8, __pyx_L1_error)

 #line 8 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -61936,7 +59990,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 8 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 8, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 8, __pyx_L1_error)

 #line 8 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -62171,7 +60225,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_107evaluate_h2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_107evaluate_h2 =
 #line 16 "root_numpy/src/evaluate.pyx"
-{"evaluate_h2", (PyCFunction)__pyx_pw_13_librootnumpy_107evaluate_h2, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_h2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_107evaluate_h2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 16 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_107evaluate_h2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -62513,7 +60567,7 @@
  */

 #line 21 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 21, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 21, __pyx_L1_error)

 #line 21 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -62555,7 +60609,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 21 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 21, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 21, __pyx_L1_error)

 #line 21 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -62799,7 +60853,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_109evaluate_h3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_109evaluate_h3 =
 #line 29 "root_numpy/src/evaluate.pyx"
-{"evaluate_h3", (PyCFunction)__pyx_pw_13_librootnumpy_109evaluate_h3, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_h3", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_109evaluate_h3, METH_VARARGS|METH_KEYWORDS, 0};

 #line 29 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_109evaluate_h3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -63147,7 +61201,7 @@
  */

 #line 34 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 34, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -63189,7 +61243,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 34 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 34, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -63439,7 +61493,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_111evaluate_f1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_111evaluate_f1 =
 #line 42 "root_numpy/src/evaluate.pyx"
-{"evaluate_f1", (PyCFunction)__pyx_pw_13_librootnumpy_111evaluate_f1, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_f1", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_111evaluate_f1, METH_VARARGS|METH_KEYWORDS, 0};

 #line 42 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_111evaluate_f1(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -63772,7 +61826,7 @@
  */

 #line 47 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 47, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 47, __pyx_L1_error)

 #line 47 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -63814,7 +61868,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 47 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 47, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 47, __pyx_L1_error)

 #line 47 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -64049,7 +62103,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_113evaluate_f2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_113evaluate_f2 =
 #line 55 "root_numpy/src/evaluate.pyx"
-{"evaluate_f2", (PyCFunction)__pyx_pw_13_librootnumpy_113evaluate_f2, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_f2", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_113evaluate_f2, METH_VARARGS|METH_KEYWORDS, 0};

 #line 55 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_113evaluate_f2(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -64391,7 +62445,7 @@
  */

 #line 60 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 60, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 60, __pyx_L1_error)

 #line 60 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -64433,7 +62487,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 60 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 60, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 60, __pyx_L1_error)

 #line 60 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -64677,7 +62731,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_115evaluate_f3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_115evaluate_f3 =
 #line 68 "root_numpy/src/evaluate.pyx"
-{"evaluate_f3", (PyCFunction)__pyx_pw_13_librootnumpy_115evaluate_f3, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_f3", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_115evaluate_f3, METH_VARARGS|METH_KEYWORDS, 0};

 #line 68 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_115evaluate_f3(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -65025,7 +63079,7 @@
  */

 #line 73 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 73, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 73, __pyx_L1_error)

 #line 73 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -65067,7 +63121,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 73 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 73, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 73, __pyx_L1_error)

 #line 73 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -65317,7 +63371,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_117evaluate_formula_1d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_117evaluate_formula_1d =
 #line 81 "root_numpy/src/evaluate.pyx"
-{"evaluate_formula_1d", (PyCFunction)__pyx_pw_13_librootnumpy_117evaluate_formula_1d, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_formula_1d", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_117evaluate_formula_1d, METH_VARARGS|METH_KEYWORDS, 0};

 #line 81 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_117evaluate_formula_1d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -65650,7 +63704,7 @@
  */

 #line 86 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 86, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 86, __pyx_L1_error)

 #line 86 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -65692,7 +63746,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 86 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 86, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 86, __pyx_L1_error)

 #line 86 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -65927,7 +63981,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_119evaluate_formula_2d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_119evaluate_formula_2d =
 #line 94 "root_numpy/src/evaluate.pyx"
-{"evaluate_formula_2d", (PyCFunction)__pyx_pw_13_librootnumpy_119evaluate_formula_2d, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_formula_2d", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_119evaluate_formula_2d, METH_VARARGS|METH_KEYWORDS, 0};

 #line 94 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_119evaluate_formula_2d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -66269,7 +64323,7 @@
  */

 #line 99 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 99, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -66311,7 +64365,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 99 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 99, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -66555,7 +64609,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_121evaluate_formula_3d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_121evaluate_formula_3d =
 #line 107 "root_numpy/src/evaluate.pyx"
-{"evaluate_formula_3d", (PyCFunction)__pyx_pw_13_librootnumpy_121evaluate_formula_3d, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_formula_3d", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_121evaluate_formula_3d, METH_VARARGS|METH_KEYWORDS, 0};

 #line 107 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_121evaluate_formula_3d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -66903,7 +64957,7 @@
  */

 #line 112 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 112, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 112, __pyx_L1_error)

 #line 112 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -66945,7 +64999,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 112 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 112, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 112, __pyx_L1_error)

 #line 112 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -67195,7 +65249,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_123evaluate_formula_4d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_123evaluate_formula_4d =
 #line 120 "root_numpy/src/evaluate.pyx"
-{"evaluate_formula_4d", (PyCFunction)__pyx_pw_13_librootnumpy_123evaluate_formula_4d, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_formula_4d", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_123evaluate_formula_4d, METH_VARARGS|METH_KEYWORDS, 0};

 #line 120 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_123evaluate_formula_4d(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -67549,7 +65603,7 @@
  */

 #line 125 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 125, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 125, __pyx_L1_error)

 #line 125 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -67591,7 +65645,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 125 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 125, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 125, __pyx_L1_error)

 #line 125 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -67847,7 +65901,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_125evaluate_graph(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_125evaluate_graph =
 #line 133 "root_numpy/src/evaluate.pyx"
-{"evaluate_graph", (PyCFunction)__pyx_pw_13_librootnumpy_125evaluate_graph, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_graph", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_125evaluate_graph, METH_VARARGS|METH_KEYWORDS, 0};

 #line 133 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_125evaluate_graph(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -68180,7 +66234,7 @@
  */

 #line 138 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 138, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 138, __pyx_L1_error)

 #line 138 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -68222,7 +66276,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 138 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 138, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 138, __pyx_L1_error)

 #line 138 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -68457,7 +66511,7 @@
 static PyObject *__pyx_pw_13_librootnumpy_127evaluate_spline(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
 static PyMethodDef __pyx_mdef_13_librootnumpy_127evaluate_spline =
 #line 146 "root_numpy/src/evaluate.pyx"
-{"evaluate_spline", (PyCFunction)__pyx_pw_13_librootnumpy_127evaluate_spline, METH_VARARGS|METH_KEYWORDS, 0};
+{"evaluate_spline", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_127evaluate_spline, METH_VARARGS|METH_KEYWORDS, 0};

 #line 146 "root_numpy/src/evaluate.pyx"
 static PyObject *__pyx_pw_13_librootnumpy_127evaluate_spline(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
@@ -68790,7 +66844,7 @@
  */

 #line 151 "root_numpy/src/evaluate.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 151, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(8, 151, __pyx_L1_error)

 #line 151 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -68832,7 +66886,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 151 "root_numpy/src/evaluate.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 151, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(8, 151, __pyx_L1_error)

 #line 151 "root_numpy/src/evaluate.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -69157,10 +67211,10 @@
   PyObject *__pyx_t_12 = NULL;

 #line 11 "root_numpy/src/innerjoin.pyx"
-  PyObject *__pyx_t_13 = NULL;
+  int __pyx_t_13;

 #line 11 "root_numpy/src/innerjoin.pyx"
-  int __pyx_t_14;
+  PyArrayObject *__pyx_t_14 = NULL;

 #line 11 "root_numpy/src/innerjoin.pyx"
   PyArrayObject *__pyx_t_15 = NULL;
@@ -69169,10 +67223,7 @@
   PyArrayObject *__pyx_t_16 = NULL;

 #line 11 "root_numpy/src/innerjoin.pyx"
-  PyArrayObject *__pyx_t_17 = NULL;
-
-#line 11 "root_numpy/src/innerjoin.pyx"
-  int __pyx_t_18;
+  int __pyx_t_17;

 #line 11 "root_numpy/src/innerjoin.pyx"
   __Pyx_RefNannySetupContext("_blockwise_inner_join", 0);
@@ -69366,7 +67417,7 @@
  */

 #line 23 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_fk_d, __pyx_v_i_fk_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 23, __pyx_L1_error)
+      __pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_kp_s_fk_d, __pyx_v_i_fk_name); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 23, __pyx_L1_error)

 #line 23 "root_numpy/src/innerjoin.pyx"
       __Pyx_GOTREF(__pyx_t_2);
@@ -69695,7 +67746,7 @@
  */

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 34, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -69803,292 +67854,208 @@
     }

 #line 34 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_12) {
+    __pyx_t_10 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_11, __pyx_t_12, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_x);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_10 = __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_v_x); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_10);
+    if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_10);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_11)) {
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_x};
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)
+  }

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-      } else
+  __Pyx_GOTREF(__pyx_t_8);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      #endif
+  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
+  __Pyx_GOTREF(__pyx_t_10);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_x};
+  __pyx_t_8 = NULL;

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)
+  __pyx_t_13 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      } else
+    if (likely(__pyx_t_8)) {

 #line 34 "root_numpy/src/innerjoin.pyx"
-      #endif
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      {
+      __Pyx_INCREF(__pyx_t_8);

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 34, __pyx_L1_error)
+      __Pyx_INCREF(function);

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF_SET(__pyx_t_9, function);

 #line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_x);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_10);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-      }
+      __pyx_t_13 = 1;

 #line 34 "root_numpy/src/innerjoin.pyx"
     }

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+  }

 #line 34 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_10))) __PYX_ERR(9, 34, __pyx_L1_error)
+  #if CYTHON_FAST_PYCALL
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_9)) {
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_1, __pyx_t_10};
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 34, __pyx_L1_error)
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-  }
+  } else

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  #endif

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 34, __pyx_L1_error)
+  #if CYTHON_FAST_PYCCALL

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_8);
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 34, __pyx_L1_error)
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_1, __pyx_t_10};

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_10);
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_8 = NULL;
+    __Pyx_GOTREF(__pyx_t_2);

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_14 = 0;
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_9);
+  } else

 #line 34 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_8)) {
+  #endif

 #line 34 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
+  {

 #line 34 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_8);
+    __pyx_t_11 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_11)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
+    __Pyx_GOTREF(__pyx_t_11);

 #line 34 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_9, function);
+    if (__pyx_t_8) {

 #line 34 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_14 = 1;
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_8); __pyx_t_8 = NULL;

 #line 34 "root_numpy/src/innerjoin.pyx"
     }

 #line 34 "root_numpy/src/innerjoin.pyx"
-  }
+    __Pyx_GIVEREF(__pyx_t_1);

 #line 34 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
+    PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_13, __pyx_t_1);

 #line 34 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_9)) {
+    __Pyx_GIVEREF(__pyx_t_10);

 #line 34 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_1, __pyx_t_10};
+    PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_13, __pyx_t_10);

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 34, __pyx_L1_error)
+    __pyx_t_1 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+    __pyx_t_10 = 0;
+
+#line 34 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_2);

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  }

 #line 34 "root_numpy/src/innerjoin.pyx"
-  } else
+  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
-  #endif
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_1, __pyx_t_10};
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 34, __pyx_L1_error)
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_14 = ((PyArrayObject *)__pyx_t_2);

 #line 34 "root_numpy/src/innerjoin.pyx"
   {

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_11 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_11)) __PYX_ERR(9, 34, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_11);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_8) {
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_8); __pyx_t_8 = NULL;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_1);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_14, __pyx_t_1);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_10);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_14, __pyx_t_10);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_1 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_10 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 34, __pyx_L1_error)
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 34, __pyx_L1_error)
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_15 = ((PyArrayObject *)__pyx_t_2);
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 34 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_15, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_14, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 34 "root_numpy/src/innerjoin.pyx"
       __pyx_v_repeat_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer.buf = NULL;
@@ -70106,7 +68073,7 @@
   }

 #line 34 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_15 = 0;
+  __pyx_t_14 = 0;

 #line 34 "root_numpy/src/innerjoin.pyx"
   __pyx_v_repeat_indices = ((PyArrayObject *)__pyx_t_2);
@@ -70287,7 +68254,7 @@
  */

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 38, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_9);
@@ -70347,40 +68314,40 @@
     __Pyx_GOTREF(__pyx_t_8);

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_names); if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 38, __pyx_L1_error)
+    __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_names); if (unlikely(!__pyx_t_12)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_13);
+    __Pyx_GOTREF(__pyx_t_12);

 #line 38 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 38, __pyx_L1_error)
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_12, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_8);

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+    __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_13 = NULL;
+    __pyx_t_12 = NULL;

 #line 38 "root_numpy/src/innerjoin.pyx"
     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_8);
+      __pyx_t_12 = PyMethod_GET_SELF(__pyx_t_8);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      if (likely(__pyx_t_13)) {
+      if (likely(__pyx_t_12)) {

 #line 38 "root_numpy/src/innerjoin.pyx"
         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_t_13);
+        __Pyx_INCREF(__pyx_t_12);

 #line 38 "root_numpy/src/innerjoin.pyx"
         __Pyx_INCREF(function);
@@ -70395,292 +68362,208 @@
     }

 #line 38 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_13) {
+    __pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_12, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_x);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_x); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_1);
+    if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_1);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_8)) {
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_9, (PyObject*)__pyx_t_1))) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_13, __pyx_v_x};
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)
+  }

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-      } else
+  __Pyx_GOTREF(__pyx_t_10);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      #endif
+  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_int); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
+  __Pyx_GOTREF(__pyx_t_1);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
+  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_13, __pyx_v_x};
+  __pyx_t_10 = NULL;

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)
+  __pyx_t_13 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      } else
+    if (likely(__pyx_t_10)) {

 #line 38 "root_numpy/src/innerjoin.pyx"
-      #endif
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      {
+      __Pyx_INCREF(__pyx_t_10);

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_12 = PyTuple_New(1+1); if (unlikely(!__pyx_t_12)) __PYX_ERR(9, 38, __pyx_L1_error)
+      __Pyx_INCREF(function);

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_12);
+      __Pyx_DECREF_SET(__pyx_t_11, function);

 #line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_13); __pyx_t_13 = NULL;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_12, 0+1, __pyx_v_x);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_1);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-      }
+      __pyx_t_13 = 1;

 #line 38 "root_numpy/src/innerjoin.pyx"
     }

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+  }

 #line 38 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_9, (PyObject*)__pyx_t_1))) __PYX_ERR(9, 38, __pyx_L1_error)
+  #if CYTHON_FAST_PYCALL
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_11)) {
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_t_1};
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 38, __pyx_L1_error)
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-  }
+  } else

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  #endif

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_10 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 38, __pyx_L1_error)
+  #if CYTHON_FAST_PYCCALL

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_10);
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_int); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 38, __pyx_L1_error)
+    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_t_1};

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_1);
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_10 = NULL;
+    __Pyx_GOTREF(__pyx_t_2);

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_14 = 0;
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
+    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_11);
+  } else

 #line 38 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_10)) {
+  #endif

 #line 38 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
+  {

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_10);
+    __pyx_t_8 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
+    __Pyx_GOTREF(__pyx_t_8);

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_11, function);
+    if (__pyx_t_10) {

 #line 38 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_14 = 1;
+      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_10); __pyx_t_10 = NULL;

 #line 38 "root_numpy/src/innerjoin.pyx"
     }

 #line 38 "root_numpy/src/innerjoin.pyx"
-  }
+    __Pyx_GIVEREF(__pyx_t_9);

 #line 38 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
+    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_13, __pyx_t_9);

 #line 38 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_11)) {
+    __Pyx_GIVEREF(__pyx_t_1);

 #line 38 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_t_1};
+    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_13, __pyx_t_1);

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 38, __pyx_L1_error)
+    __pyx_t_9 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
+    __pyx_t_1 = 0;
+
+#line 38 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_2);

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  }

 #line 38 "root_numpy/src/innerjoin.pyx"
-  } else
+  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
-  #endif
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 38, __pyx_L1_error)

 #line 38 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_t_9, __pyx_t_1};
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 38, __pyx_L1_error)
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_15 = ((PyArrayObject *)__pyx_t_2);

 #line 38 "root_numpy/src/innerjoin.pyx"
   {

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_8 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 38, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_8);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_10) {
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_10); __pyx_t_10 = NULL;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_9);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_14, __pyx_t_9);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_1);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_14, __pyx_t_1);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_9 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_1 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 38, __pyx_L1_error)
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 38, __pyx_L1_error)
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_16 = ((PyArrayObject *)__pyx_t_2);
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 38 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_stretch_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_stretch_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_15, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 38 "root_numpy/src/innerjoin.pyx"
       __pyx_v_stretch_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_stretch_indices.rcbuffer->pybuffer.buf = NULL;
@@ -70698,7 +68581,7 @@
   }

 #line 38 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_16 = 0;
+  __pyx_t_15 = 0;

 #line 38 "root_numpy/src/innerjoin.pyx"
   __pyx_v_stretch_indices = ((PyArrayObject *)__pyx_t_2);
@@ -70715,7 +68598,7 @@
  */

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_11 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(9, 41, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_11);
@@ -70913,292 +68796,208 @@
     }

 #line 41 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_12) {
+    __pyx_t_9 = (__pyx_t_12) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_12, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_x);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_9 = __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_v_x); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_9);
+    if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_9);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_10)) {
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_11, (PyObject*)__pyx_t_9))) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_x};
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_9 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)
+  }

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-      } else
+  __Pyx_GOTREF(__pyx_t_1);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      #endif
+  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
+  __Pyx_GOTREF(__pyx_t_9);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) {
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_12, __pyx_v_x};
+  __pyx_t_1 = NULL;

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_9 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)
+  __pyx_t_13 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      } else
+    if (likely(__pyx_t_1)) {

 #line 41 "root_numpy/src/innerjoin.pyx"
-      #endif
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      {
+      __Pyx_INCREF(__pyx_t_1);

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_13 = PyTuple_New(1+1); if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 41, __pyx_L1_error)
+      __Pyx_INCREF(function);

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_13);
+      __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_13, 0+1, __pyx_v_x);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_13, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_9);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-      }
+      __pyx_t_13 = 1;

 #line 41 "root_numpy/src/innerjoin.pyx"
     }

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
+  }

 #line 41 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_11, (PyObject*)__pyx_t_9))) __PYX_ERR(9, 41, __pyx_L1_error)
+  #if CYTHON_FAST_PYCALL
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_8)) {
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_11, __pyx_t_9};
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __pyx_L1_error)
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-  }
+  } else

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  #endif

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_1)) __PYX_ERR(9, 41, __pyx_L1_error)
+  #if CYTHON_FAST_PYCCALL

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_1);
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_int); if (unlikely(!__pyx_t_9)) __PYX_ERR(9, 41, __pyx_L1_error)
+    PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_11, __pyx_t_9};

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_9);
+    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_13, 2+__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_1 = NULL;
+    __Pyx_GOTREF(__pyx_t_2);

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_14 = 0;
+    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
+  } else

 #line 41 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_1)) {
+  #endif

 #line 41 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+  {

 #line 41 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_1);
+    __pyx_t_10 = PyTuple_New(2+__pyx_t_13); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
+    __Pyx_GOTREF(__pyx_t_10);

 #line 41 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_8, function);
+    if (__pyx_t_1) {

 #line 41 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_14 = 1;
+      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL;

 #line 41 "root_numpy/src/innerjoin.pyx"
     }

 #line 41 "root_numpy/src/innerjoin.pyx"
-  }
+    __Pyx_GIVEREF(__pyx_t_11);

 #line 41 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
+    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_13, __pyx_t_11);

 #line 41 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_8)) {
+    __Pyx_GIVEREF(__pyx_t_9);

 #line 41 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_11, __pyx_t_9};
+    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_13, __pyx_t_9);

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __pyx_L1_error)
+    __pyx_t_11 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
+    __pyx_t_9 = 0;
+
+#line 41 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_2);

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
+    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+  }

 #line 41 "root_numpy/src/innerjoin.pyx"
-  } else
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
-  #endif
+  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 41, __pyx_L1_error)

 #line 41 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_t_11, __pyx_t_9};
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __pyx_L1_error)
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_16 = ((PyArrayObject *)__pyx_t_2);

 #line 41 "root_numpy/src/innerjoin.pyx"
   {

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_10 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_10)) __PYX_ERR(9, 41, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_10);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_1) {
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_1); __pyx_t_1 = NULL;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_11);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_14, __pyx_t_11);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_9);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_14, __pyx_t_9);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_11 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_9 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 41, __pyx_L1_error)
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 41, __pyx_L1_error)
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_17 = ((PyArrayObject *)__pyx_t_2);
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 41 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_right_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_right_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 41 "root_numpy/src/innerjoin.pyx"
       __pyx_v_right_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_right_indices.rcbuffer->pybuffer.buf = NULL;
@@ -71216,7 +69015,7 @@
   }

 #line 41 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_17 = 0;
+  __pyx_t_16 = 0;

 #line 41 "root_numpy/src/innerjoin.pyx"
   __pyx_v_right_indices = ((PyArrayObject *)__pyx_t_2);
@@ -71440,7 +69239,7 @@
       __pyx_t_10 = 0;

 #line 47 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_18 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_8); if (unlikely(__pyx_t_18 == ((int)-1))) __PYX_ERR(9, 47, __pyx_L1_error)
+      __pyx_t_17 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_8); if (unlikely(__pyx_t_17 == ((int)-1))) __PYX_ERR(9, 47, __pyx_L1_error)

 #line 47 "root_numpy/src/innerjoin.pyx"
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -71533,7 +69332,7 @@
       __pyx_t_8 = 0;

 #line 49 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_18 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_10); if (unlikely(__pyx_t_18 == ((int)-1))) __PYX_ERR(9, 49, __pyx_L1_error)
+      __pyx_t_17 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_10); if (unlikely(__pyx_t_17 == ((int)-1))) __PYX_ERR(9, 49, __pyx_L1_error)

 #line 49 "root_numpy/src/innerjoin.pyx"
       __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
@@ -71754,7 +69553,7 @@
     __pyx_t_10 = 0;

 #line 51 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_18 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_8); if (unlikely(__pyx_t_18 == ((int)-1))) __PYX_ERR(9, 51, __pyx_L1_error)
+    __pyx_t_17 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_8); if (unlikely(__pyx_t_17 == ((int)-1))) __PYX_ERR(9, 51, __pyx_L1_error)

 #line 51 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -71821,7 +69620,7 @@
   __pyx_t_8 = 0;

 #line 53 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_18 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_2); if (unlikely(__pyx_t_18 == ((int)-1))) __PYX_ERR(9, 53, __pyx_L1_error)
+  __pyx_t_17 = __Pyx_PyList_Append(__pyx_v_new_dtype, __pyx_t_2); if (unlikely(__pyx_t_17 == ((int)-1))) __PYX_ERR(9, 53, __pyx_L1_error)

 #line 53 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -72010,9 +69809,6 @@

 #line 11 "root_numpy/src/innerjoin.pyx"
   __Pyx_XDECREF(__pyx_t_12);
-
-#line 11 "root_numpy/src/innerjoin.pyx"
-  __Pyx_XDECREF(__pyx_t_13);

 #line 11 "root_numpy/src/innerjoin.pyx"
   { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
@@ -72698,7 +70494,7 @@
   PyObject *__pyx_t_15 = NULL;

 #line 69 "root_numpy/src/innerjoin.pyx"
-  PyObject *__pyx_t_16 = NULL;
+  PyArrayObject *__pyx_t_16 = NULL;

 #line 69 "root_numpy/src/innerjoin.pyx"
   PyArrayObject *__pyx_t_17 = NULL;
@@ -72710,16 +70506,16 @@
   PyArrayObject *__pyx_t_19 = NULL;

 #line 69 "root_numpy/src/innerjoin.pyx"
-  PyArrayObject *__pyx_t_20 = NULL;
+  long __pyx_t_20;

 #line 69 "root_numpy/src/innerjoin.pyx"
-  long __pyx_t_21;
+  Py_ssize_t __pyx_t_21;

 #line 69 "root_numpy/src/innerjoin.pyx"
-  Py_ssize_t __pyx_t_22;
+  long __pyx_t_22;

 #line 69 "root_numpy/src/innerjoin.pyx"
-  long __pyx_t_23;
+  Py_ssize_t __pyx_t_23;

 #line 69 "root_numpy/src/innerjoin.pyx"
   Py_ssize_t __pyx_t_24;
@@ -72735,9 +70531,6 @@

 #line 69 "root_numpy/src/innerjoin.pyx"
   Py_ssize_t __pyx_t_28;
-
-#line 69 "root_numpy/src/innerjoin.pyx"
-  Py_ssize_t __pyx_t_29;

 #line 69 "root_numpy/src/innerjoin.pyx"
   __Pyx_RefNannySetupContext("_vector_fk_inner_join", 0);
@@ -72938,7 +70731,7 @@
  */

 #line 78 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 78, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 78, __pyx_L1_error)

 #line 78 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -73196,7 +70989,7 @@
  */

 #line 87 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 87, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 87, __pyx_L1_error)

 #line 87 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_4);
@@ -73268,109 +71061,19 @@
     }

 #line 87 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_5) {
+    __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2);

 #line 87 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 87, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 87 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 87 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
+    if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 87, __pyx_L1_error)

 #line 87 "root_numpy/src/innerjoin.pyx"
-    } else {
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_7)) {
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_2};
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 87, __pyx_L1_error)
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_5, __pyx_t_2};
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 87, __pyx_L1_error)
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      {
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PyTuple_New(1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 87, __pyx_L1_error)
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_2);
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_4, 0+1, __pyx_t_2);
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = 0;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 87, __pyx_L1_error)
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_3);
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 87 "root_numpy/src/innerjoin.pyx"
-    }
+    __Pyx_GOTREF(__pyx_t_3);

 #line 87 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -73478,16 +71181,16 @@
  */

 #line 91 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 91, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 91, __pyx_L1_error)

 #line 91 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_7);

 #line 91 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 91, __pyx_L1_error)
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_empty); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 91, __pyx_L1_error)

 #line 91 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GOTREF(__pyx_t_2);

 #line 91 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -73499,31 +71202,31 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 91 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = NULL;
+  __pyx_t_5 = NULL;

 #line 91 "root_numpy/src/innerjoin.pyx"
   __pyx_t_6 = 0;

 #line 91 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);

 #line 91 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_2)) {
+    if (likely(__pyx_t_5)) {

 #line 91 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);

 #line 91 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_5);

 #line 91 "root_numpy/src/innerjoin.pyx"
       __Pyx_INCREF(function);

 #line 91 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_4, function);
+      __Pyx_DECREF_SET(__pyx_t_2, function);

 #line 91 "root_numpy/src/innerjoin.pyx"
       __pyx_t_6 = 1;
@@ -73538,16 +71241,16 @@
   #if CYTHON_FAST_PYCALL

 #line 91 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_4)) {
+  if (PyFunction_Check(__pyx_t_2)) {

 #line 91 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_7, __pyx_v_new_dtype};
+    PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_7, __pyx_v_new_dtype};

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 91, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 91, __pyx_L1_error)

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 91 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);
@@ -73565,16 +71268,16 @@
   #if CYTHON_FAST_PYCCALL

 #line 91 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {

 #line 91 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_7, __pyx_v_new_dtype};
+    PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_7, __pyx_v_new_dtype};

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 91, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 91, __pyx_L1_error)

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 91 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);
@@ -73592,16 +71295,16 @@
   {

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 91, __pyx_L1_error)
+    __pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 91, __pyx_L1_error)

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_5);
+    __Pyx_GOTREF(__pyx_t_4);

 #line 91 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_2) {
+    if (__pyx_t_5) {

 #line 91 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
+      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;

 #line 91 "root_numpy/src/innerjoin.pyx"
     }
@@ -73610,7 +71313,7 @@
     __Pyx_GIVEREF(__pyx_t_7);

 #line 91 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_t_7);
+    PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_t_7);

 #line 91 "root_numpy/src/innerjoin.pyx"
     __Pyx_INCREF(__pyx_v_new_dtype);
@@ -73619,25 +71322,25 @@
     __Pyx_GIVEREF(__pyx_v_new_dtype);

 #line 91 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_v_new_dtype);
+    PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_new_dtype);

 #line 91 "root_numpy/src/innerjoin.pyx"
     __pyx_t_7 = 0;

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 91, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 91, __pyx_L1_error)

 #line 91 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);

 #line 91 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 91 "root_numpy/src/innerjoin.pyx"
   }

 #line 91 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 91 "root_numpy/src/innerjoin.pyx"
   if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 91, __pyx_L1_error)
@@ -73657,25 +71360,25 @@
  */

 #line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 95, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_2);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_array); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_4);

 #line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 95, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GOTREF(__pyx_t_2);

 #line 95 "root_numpy/src/innerjoin.pyx"
   if (likely(PyList_CheckExact(__pyx_v_repeat_columns)) || PyTuple_CheckExact(__pyx_v_repeat_columns)) {
@@ -73717,16 +71420,16 @@
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 95, __pyx_L1_error)
+        __pyx_t_5 = PyList_GET_ITEM(__pyx_t_7, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
         #else

 #line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
+        __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_5);

 #line 95 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -73741,16 +71444,16 @@
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 95, __pyx_L1_error)
+        __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_7, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
         #else

 #line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PySequence_ITEM(__pyx_t_7, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
+        __pyx_t_5 = PySequence_ITEM(__pyx_t_7, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+        __Pyx_GOTREF(__pyx_t_5);

 #line 95 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -73762,10 +71465,10 @@
 {

 #line 95 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_2 = __pyx_t_13(__pyx_t_7);
+      __pyx_t_5 = __pyx_t_13(__pyx_t_7);

 #line 95 "root_numpy/src/innerjoin.pyx"
-      if (unlikely(!__pyx_t_2)) {
+      if (unlikely(!__pyx_t_5)) {

 #line 95 "root_numpy/src/innerjoin.pyx"
         PyObject* exc_type = PyErr_Occurred();
@@ -73789,358 +71492,274 @@
       }

 #line 95 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+      __Pyx_GOTREF(__pyx_t_5);

 #line 95 "root_numpy/src/innerjoin.pyx"
     }

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
+    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ret), __pyx_n_s_dtype); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_14);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_15);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_14);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_15 = NULL;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      if (likely(__pyx_t_15)) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+        __Pyx_INCREF(__pyx_t_15);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+        __Pyx_INCREF(function);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+        __Pyx_DECREF_SET(__pyx_t_14, function);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      }
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_15, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_x);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_5);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_5))) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_7);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_int); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_5);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_7 = NULL;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_6 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    if (likely(__pyx_t_7)) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      __Pyx_INCREF(__pyx_t_7);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      __Pyx_INCREF(function);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      __Pyx_DECREF_SET(__pyx_t_4, function);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      __pyx_t_6 = 1;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCALL
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_4)) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_2, __pyx_t_5};
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCCALL
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_2, __pyx_t_5};
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+  {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_14 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 95, __pyx_L1_error)
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_14);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    if (__pyx_t_7) {
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_7); __pyx_t_7 = NULL;
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_2);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_t_2);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_5);
+
+#line 95 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_t_5);

 #line 95 "root_numpy/src/innerjoin.pyx"
     __pyx_t_2 = 0;

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ret), __pyx_n_s_dtype); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 95, __pyx_L1_error)
+    __pyx_t_5 = 0;

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_14);
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_15);
+    __Pyx_GOTREF(__pyx_t_3);

 #line 95 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 95, __pyx_L1_error)
+  }

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_14);
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 95, __pyx_L1_error)

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_15 = NULL;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_14);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      if (likely(__pyx_t_15)) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_t_15);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(function);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF_SET(__pyx_t_14, function);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_15) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    } else {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_14)) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_16);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_v_x);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_16, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_7);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = NULL;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_7)) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_7);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_5, function);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = 1;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_5)) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_4, __pyx_t_2};
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  #endif
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_t_4, __pyx_t_2};
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_16 = ((PyArrayObject *)__pyx_t_3);

 #line 95 "root_numpy/src/innerjoin.pyx"
   {

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_14 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 95, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_14);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_7) {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_7); __pyx_t_7 = NULL;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_4);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_6, __pyx_t_4);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_6, __pyx_t_2);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 95, __pyx_L1_error)
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_17 = ((PyArrayObject *)__pyx_t_3);
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 95 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 95 "root_numpy/src/innerjoin.pyx"
       __pyx_v_repeat_result_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer.buf = NULL;
@@ -74158,7 +71777,7 @@
   }

 #line 95 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_17 = 0;
+  __pyx_t_16 = 0;

 #line 95 "root_numpy/src/innerjoin.pyx"
   __pyx_v_repeat_result_indices = ((PyArrayObject *)__pyx_t_3);
@@ -74175,31 +71794,31 @@
  */

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 97, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GOTREF(__pyx_t_4);

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_array); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 97, __pyx_L1_error)
+  __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_14);

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 97, __pyx_L1_error)
+  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GOTREF(__pyx_t_4);

 #line 97 "root_numpy/src/innerjoin.pyx"
   if (likely(PyList_CheckExact(__pyx_v_stretch_columns)) || PyTuple_CheckExact(__pyx_v_stretch_columns)) {

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __pyx_v_stretch_columns; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = 0;
+    __pyx_t_5 = __pyx_v_stretch_columns; __Pyx_INCREF(__pyx_t_5); __pyx_t_1 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
     __pyx_t_13 = NULL;
@@ -74208,13 +71827,13 @@
   } else {
     __pyx_t_1 = -1;
 #line 97 "root_numpy/src/innerjoin.pyx"
-__pyx_t_2 = PyObject_GetIter(__pyx_v_stretch_columns); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 97, __pyx_L1_error)
+__pyx_t_5 = PyObject_GetIter(__pyx_v_stretch_columns); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GOTREF(__pyx_t_5);

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_13 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 97, __pyx_L1_error)
+    __pyx_t_13 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
   }
@@ -74226,25 +71845,25 @@
     if (likely(!__pyx_t_13)) {

 #line 97 "root_numpy/src/innerjoin.pyx"
-      if (likely(PyList_CheckExact(__pyx_t_2))) {
+      if (likely(PyList_CheckExact(__pyx_t_5))) {

 #line 97 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break;
+        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_5)) break;

 #line 97 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 97, __pyx_L1_error)
+        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
         #else

 #line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
+        __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_GOTREF(__pyx_t_2);

 #line 97 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -74253,22 +71872,22 @@
       } else {

 #line 97 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
+        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_5)) break;

 #line 97 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 97, __pyx_L1_error)
+        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
         #else

 #line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
+        __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_GOTREF(__pyx_t_2);

 #line 97 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -74280,10 +71899,10 @@
 {

 #line 97 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_4 = __pyx_t_13(__pyx_t_2);
+      __pyx_t_2 = __pyx_t_13(__pyx_t_5);

 #line 97 "root_numpy/src/innerjoin.pyx"
-      if (unlikely(!__pyx_t_4)) {
+      if (unlikely(!__pyx_t_2)) {

 #line 97 "root_numpy/src/innerjoin.pyx"
         PyObject* exc_type = PyErr_Occurred();
@@ -74307,358 +71926,274 @@
       }

 #line 97 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_GOTREF(__pyx_t_2);

 #line 97 "root_numpy/src/innerjoin.pyx"
     }

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
+    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ret), __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_7);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_15);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_7);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_15 = NULL;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_7);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      if (likely(__pyx_t_15)) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+        __Pyx_INCREF(__pyx_t_15);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+        __Pyx_INCREF(function);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+        __Pyx_DECREF_SET(__pyx_t_7, function);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      }
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_15, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_x);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_2);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_2))) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_5);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_2);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_5 = NULL;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_6 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    if (likely(__pyx_t_5)) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      __Pyx_INCREF(__pyx_t_5);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      __Pyx_INCREF(function);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      __Pyx_DECREF_SET(__pyx_t_14, function);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      __pyx_t_6 = 1;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCALL
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_14)) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_t_2};
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCCALL
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_4, __pyx_t_2};
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+  {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 97, __pyx_L1_error)
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_7);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    if (__pyx_t_5) {
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+      __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_4);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_4);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_2);
+
+#line 97 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_2);

 #line 97 "root_numpy/src/innerjoin.pyx"
     __pyx_t_4 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ret), __pyx_n_s_dtype); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 97, __pyx_L1_error)
+    __pyx_t_2 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_7);
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_names); if (unlikely(!__pyx_t_16)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_16);
+    __Pyx_GOTREF(__pyx_t_3);

 #line 97 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 97, __pyx_L1_error)
+  }

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_7);
+  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 97, __pyx_L1_error)

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_16 = NULL;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_7);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      if (likely(__pyx_t_16)) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_t_16);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(function);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF_SET(__pyx_t_7, function);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_16) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    } else {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_7)) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_v_x};
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_v_x};
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_15 = PyTuple_New(1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_15);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_16); __pyx_t_16 = NULL;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_15, 0+1, __pyx_v_x);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_15, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_4))) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_2);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = NULL;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_2)) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_2);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_14, function);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = 1;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_14)) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_5, __pyx_t_4};
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  #endif
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_5, __pyx_t_4};
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_17 = ((PyArrayObject *)__pyx_t_3);

 #line 97 "root_numpy/src/innerjoin.pyx"
   {

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 97, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_7);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_2) {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_2); __pyx_t_2 = NULL;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_5);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_t_5);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_t_4);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 97, __pyx_L1_error)
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_18 = ((PyArrayObject *)__pyx_t_3);
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 97 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 97 "root_numpy/src/innerjoin.pyx"
       __pyx_v_stretch_result_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer.buf = NULL;
@@ -74676,7 +72211,7 @@
   }

 #line 97 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_18 = 0;
+  __pyx_t_17 = 0;

 #line 97 "root_numpy/src/innerjoin.pyx"
   __pyx_v_stretch_result_indices = ((PyArrayObject *)__pyx_t_3);
@@ -74693,7 +72228,7 @@
  */

 #line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_14 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 99, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_np); if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_14);
@@ -74717,7 +72252,7 @@
   if (likely(PyList_CheckExact(__pyx_v_right)) || PyTuple_CheckExact(__pyx_v_right)) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = __pyx_v_right; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;
+    __pyx_t_2 = __pyx_v_right; __Pyx_INCREF(__pyx_t_2); __pyx_t_1 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
     __pyx_t_13 = NULL;
@@ -74726,13 +72261,13 @@
   } else {
     __pyx_t_1 = -1;
 #line 99 "root_numpy/src/innerjoin.pyx"
-__pyx_t_4 = PyObject_GetIter(__pyx_v_right); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 99, __pyx_L1_error)
+__pyx_t_2 = PyObject_GetIter(__pyx_v_right); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GOTREF(__pyx_t_2);

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_13 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 99, __pyx_L1_error)
+    __pyx_t_13 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_13)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
   }
@@ -74744,25 +72279,25 @@
     if (likely(!__pyx_t_13)) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-      if (likely(PyList_CheckExact(__pyx_t_4))) {
+      if (likely(PyList_CheckExact(__pyx_t_2))) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
+        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_2)) break;

 #line 99 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 99, __pyx_L1_error)
+        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
         #else

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_GOTREF(__pyx_t_4);

 #line 99 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -74771,22 +72306,22 @@
       } else {

 #line 99 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
+        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_2)) break;

 #line 99 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_5); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 99, __pyx_L1_error)
+        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
         #else

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
+        __Pyx_GOTREF(__pyx_t_4);

 #line 99 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -74798,10 +72333,10 @@
 {

 #line 99 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_5 = __pyx_t_13(__pyx_t_4);
+      __pyx_t_4 = __pyx_t_13(__pyx_t_2);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      if (unlikely(!__pyx_t_5)) {
+      if (unlikely(!__pyx_t_4)) {

 #line 99 "root_numpy/src/innerjoin.pyx"
         PyObject* exc_type = PyErr_Occurred();
@@ -74825,37 +72360,37 @@
       }

 #line 99 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
+      __Pyx_GOTREF(__pyx_t_4);

 #line 99 "root_numpy/src/innerjoin.pyx"
     }

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
+    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = 0;
+    __pyx_t_4 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ret), __pyx_n_s_dtype); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_ret), __pyx_n_s_dtype); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GOTREF(__pyx_t_5);

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 99, __pyx_L1_error)
+    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_15);

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
+    __Pyx_GOTREF(__pyx_t_5);

 #line 99 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
@@ -74864,16 +72399,16 @@
     __pyx_t_15 = NULL;

 #line 99 "root_numpy/src/innerjoin.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_2);
+      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_5);

 #line 99 "root_numpy/src/innerjoin.pyx"
       if (likely(__pyx_t_15)) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);

 #line 99 "root_numpy/src/innerjoin.pyx"
         __Pyx_INCREF(__pyx_t_15);
@@ -74882,7 +72417,7 @@
         __Pyx_INCREF(function);

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF_SET(__pyx_t_2, function);
+        __Pyx_DECREF_SET(__pyx_t_5, function);

 #line 99 "root_numpy/src/innerjoin.pyx"
       }
@@ -74891,106 +72426,184 @@
     }

 #line 99 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_15) {
+    __pyx_t_4 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_15, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_x);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_4);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_2)) {
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_14, (PyObject*)__pyx_t_4))) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
+  }

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-      } else
+  __Pyx_GOTREF(__pyx_t_2);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      #endif
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_int); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
+  __Pyx_GOTREF(__pyx_t_4);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
+  __pyx_t_2 = NULL;

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
+  __pyx_t_6 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      } else
+    if (likely(__pyx_t_2)) {

 #line 99 "root_numpy/src/innerjoin.pyx"
-      #endif
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);

 #line 99 "root_numpy/src/innerjoin.pyx"
-      {
+      __Pyx_INCREF(__pyx_t_2);

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(9, 99, __pyx_L1_error)
+      __Pyx_INCREF(function);

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_16);
+      __Pyx_DECREF_SET(__pyx_t_7, function);

 #line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_v_x);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_16, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_5);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      }
+      __pyx_t_6 = 1;

 #line 99 "root_numpy/src/innerjoin.pyx"
     }

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  }

 #line 99 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_14, (PyObject*)__pyx_t_5))) __PYX_ERR(9, 99, __pyx_L1_error)
+  #if CYTHON_FAST_PYCALL
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_7)) {
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_14, __pyx_t_4};
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 99, __pyx_L1_error)
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCCALL
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_t_14, __pyx_t_4};
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 99, __pyx_L1_error)
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+  {
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_5);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    if (__pyx_t_2) {
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_14);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_6, __pyx_t_14);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_4);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_6, __pyx_t_4);
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_14 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_4 = 0;
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 99, __pyx_L1_error)
+
+#line 99 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);

 #line 99 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -74999,184 +72612,22 @@
   }

 #line 99 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 99, __pyx_L1_error)
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 99, __pyx_L1_error)

 #line 99 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 99, __pyx_L1_error)
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_5);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = NULL;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_7);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_4)) {
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_4);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_7, function);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = 1;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_7)) {
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_14, __pyx_t_5};
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 99, __pyx_L1_error)
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  #endif
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_14, __pyx_t_5};
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 99, __pyx_L1_error)
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_18 = ((PyArrayObject *)__pyx_t_3);

 #line 99 "root_numpy/src/innerjoin.pyx"
   {

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 99, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_2);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_4) {
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_14);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_t_14);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_5);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_t_5);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_14 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 99, __pyx_L1_error)
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 99, __pyx_L1_error)
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_19 = ((PyArrayObject *)__pyx_t_3);
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 99 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 99 "root_numpy/src/innerjoin.pyx"
       __pyx_v_right_result_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer.buf = NULL;
@@ -75194,7 +72645,7 @@
   }

 #line 99 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_19 = 0;
+  __pyx_t_18 = 0;

 #line 99 "root_numpy/src/innerjoin.pyx"
   __pyx_v_right_result_indices = ((PyArrayObject *)__pyx_t_3);
@@ -75217,40 +72668,40 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 101 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_names); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 101, __pyx_L1_error)
+  __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_names); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 101, __pyx_L1_error)

 #line 101 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GOTREF(__pyx_t_5);

 #line 101 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 101 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 101, __pyx_L1_error)
+  __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_index); if (unlikely(!__pyx_t_7)) __PYX_ERR(9, 101, __pyx_L1_error)

 #line 101 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_7);

 #line 101 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 101 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = NULL;
+  __pyx_t_5 = NULL;

 #line 101 "root_numpy/src/innerjoin.pyx"
   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {

 #line 101 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
+    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);

 #line 101 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_2)) {
+    if (likely(__pyx_t_5)) {

 #line 101 "root_numpy/src/innerjoin.pyx"
       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);

 #line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_2);
+      __Pyx_INCREF(__pyx_t_5);

 #line 101 "root_numpy/src/innerjoin.pyx"
       __Pyx_INCREF(function);
@@ -75265,100 +72716,16 @@
   }

 #line 101 "root_numpy/src/innerjoin.pyx"
-  if (!__pyx_t_2) {
+  __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_v_fk_name) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_fk_name);

 #line 101 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_fk_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 101, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 101 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 101, __pyx_L1_error)

 #line 101 "root_numpy/src/innerjoin.pyx"
-  } else {
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    if (PyFunction_Check(__pyx_t_7)) {
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_fk_name};
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 101, __pyx_L1_error)
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    } else
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    #endif
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_2, __pyx_v_fk_name};
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 101, __pyx_L1_error)
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    } else
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    #endif
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    {
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_5 = PyTuple_New(1+1); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 101, __pyx_L1_error)
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_5);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_v_fk_name);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_v_fk_name);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      PyTuple_SET_ITEM(__pyx_t_5, 0+1, __pyx_v_fk_name);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 101, __pyx_L1_error)
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 101 "root_numpy/src/innerjoin.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_3);

 #line 101 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
@@ -75556,7 +72923,7 @@
     if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 119, __pyx_L1_error)

 #line 119 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_20 = ((PyArrayObject *)__pyx_t_3);
+    __pyx_t_19 = ((PyArrayObject *)__pyx_t_3);

 #line 119 "root_numpy/src/innerjoin.pyx"
     {
@@ -75568,7 +72935,7 @@
       __Pyx_SafeReleaseBuffer(&__pyx_pybuffernd_tmp_good_fk_index.rcbuffer->pybuffer);

 #line 119 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_tmp_good_fk_index.rcbuffer->pybuffer, (PyObject*)__pyx_t_20, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);
+      __pyx_t_6 = __Pyx_GetBufferAndValidate(&__pyx_pybuffernd_tmp_good_fk_index.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack);

 #line 119 "root_numpy/src/innerjoin.pyx"
       if (unlikely(__pyx_t_6 < 0)) {
@@ -75610,7 +72977,7 @@
     }

 #line 119 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_20 = 0;
+    __pyx_t_19 = 0;

 #line 119 "root_numpy/src/innerjoin.pyx"
     __Pyx_XDECREF_SET(__pyx_v_tmp_good_fk_index, ((PyArrayObject *)__pyx_t_3));
@@ -75664,10 +73031,10 @@
  */

 #line 122 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_21 = __pyx_v_this_n_good_fk;
+    __pyx_t_20 = __pyx_v_this_n_good_fk;

 #line 122 "root_numpy/src/innerjoin.pyx"
-    for (__pyx_v_i_fk = 0; __pyx_v_i_fk < __pyx_t_21; __pyx_v_i_fk++) {
+    for (__pyx_v_i_fk = 0; __pyx_v_i_fk < __pyx_t_20; __pyx_v_i_fk++) {

       /* "root_numpy/src/innerjoin.pyx":123
  *         this_n_good_fk = len(tmp_good_fk_index)
@@ -75678,22 +73045,22 @@
  */

 #line 123 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_22 = __pyx_v_i_fk;
+      __pyx_t_21 = __pyx_v_i_fk;

 #line 123 "root_numpy/src/innerjoin.pyx"
       __pyx_t_6 = -1;

 #line 123 "root_numpy/src/innerjoin.pyx"
-      if (__pyx_t_22 < 0) {
+      if (__pyx_t_21 < 0) {

 #line 123 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_22 += __pyx_pybuffernd_tmp_good_fk_index.diminfo[0].shape;
+        __pyx_t_21 += __pyx_pybuffernd_tmp_good_fk_index.diminfo[0].shape;

 #line 123 "root_numpy/src/innerjoin.pyx"
-        if (unlikely(__pyx_t_22 < 0)) __pyx_t_6 = 0;
+        if (unlikely(__pyx_t_21 < 0)) __pyx_t_6 = 0;
       } else
 #line 123 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_22 >= __pyx_pybuffernd_tmp_good_fk_index.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_21 >= __pyx_pybuffernd_tmp_good_fk_index.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 123 "root_numpy/src/innerjoin.pyx"
       if (unlikely(__pyx_t_6 != -1)) {
@@ -75708,7 +73075,7 @@
       }

 #line 123 "root_numpy/src/innerjoin.pyx"
-      __pyx_v_left_good_index = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_tmp_good_fk_index.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_tmp_good_fk_index.diminfo[0].strides));
+      __pyx_v_left_good_index = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_tmp_good_fk_index.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_tmp_good_fk_index.diminfo[0].strides));

       /* "root_numpy/src/innerjoin.pyx":124
  *         for i_fk from 0 <= i_fk < this_n_good_fk:
@@ -75725,13 +73092,13 @@
       __Pyx_GOTREF(__pyx_t_3);

 #line 124 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_23 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_23 == (long)-1) && PyErr_Occurred())) __PYX_ERR(9, 124, __pyx_L1_error)
+      __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(9, 124, __pyx_L1_error)

 #line 124 "root_numpy/src/innerjoin.pyx"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 124 "root_numpy/src/innerjoin.pyx"
-      __pyx_v_right_good_index = __pyx_t_23;
+      __pyx_v_right_good_index = __pyx_t_22;

       /* "root_numpy/src/innerjoin.pyx":125
  *             left_good_index = tmp_good_fk_index[i_fk]
@@ -75742,10 +73109,10 @@
  */

 #line 125 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_23 = __pyx_v_nrepeat;
+      __pyx_t_22 = __pyx_v_nrepeat;

 #line 125 "root_numpy/src/innerjoin.pyx"
-      for (__pyx_v_i_repeat = 0; __pyx_v_i_repeat < __pyx_t_23; __pyx_v_i_repeat++) {
+      for (__pyx_v_i_repeat = 0; __pyx_v_i_repeat < __pyx_t_22; __pyx_v_i_repeat++) {

         /* "root_numpy/src/innerjoin.pyx":126
  *             right_good_index = tmp_fk[left_good_index]
@@ -75756,22 +73123,22 @@
  */

 #line 126 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_24 = __pyx_v_i_repeat;
+        __pyx_t_23 = __pyx_v_i_repeat;

 #line 126 "root_numpy/src/innerjoin.pyx"
         __pyx_t_6 = -1;

 #line 126 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_24 < 0) {
+        if (__pyx_t_23 < 0) {

 #line 126 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_24 += __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape;
+          __pyx_t_23 += __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape;

 #line 126 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_24 < 0)) __pyx_t_6 = 0;
+          if (unlikely(__pyx_t_23 < 0)) __pyx_t_6 = 0;
         } else
 #line 126 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_24 >= __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_23 >= __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 126 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_6 != -1)) {
@@ -75786,7 +73153,7 @@
         }

 #line 126 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_repeat_result_indices.diminfo[0].strides));
+        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_repeat_result_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":127
  *             for i_repeat from 0 <= i_repeat < nrepeat:
@@ -75797,22 +73164,22 @@
  */

 #line 127 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_25 = __pyx_v_i_repeat;
+        __pyx_t_24 = __pyx_v_i_repeat;

 #line 127 "root_numpy/src/innerjoin.pyx"
         __pyx_t_6 = -1;

 #line 127 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_25 < 0) {
+        if (__pyx_t_24 < 0) {

 #line 127 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_25 += __pyx_pybuffernd_repeat_indices.diminfo[0].shape;
+          __pyx_t_24 += __pyx_pybuffernd_repeat_indices.diminfo[0].shape;

 #line 127 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_25 < 0)) __pyx_t_6 = 0;
+          if (unlikely(__pyx_t_24 < 0)) __pyx_t_6 = 0;
         } else
 #line 127 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_25 >= __pyx_pybuffernd_repeat_indices.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_24 >= __pyx_pybuffernd_repeat_indices.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 127 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_6 != -1)) {
@@ -75827,7 +73194,7 @@
         }

 #line 127 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_repeat_indices.diminfo[0].strides));
+        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_repeat_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":128
  *                 i_land = repeat_result_indices[i_repeat]
@@ -75879,10 +73246,10 @@
  */

 #line 129 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_23 = __pyx_v_nstretch;
+      __pyx_t_22 = __pyx_v_nstretch;

 #line 129 "root_numpy/src/innerjoin.pyx"
-      for (__pyx_v_i_stretch = 0; __pyx_v_i_stretch < __pyx_t_23; __pyx_v_i_stretch++) {
+      for (__pyx_v_i_stretch = 0; __pyx_v_i_stretch < __pyx_t_22; __pyx_v_i_stretch++) {

         /* "root_numpy/src/innerjoin.pyx":130
  *                 ret[i_ret][i_land] = data[i_data][i_source] # TODO: make this faster
@@ -75893,22 +73260,22 @@
  */

 #line 130 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_26 = __pyx_v_i_stretch;
+        __pyx_t_25 = __pyx_v_i_stretch;

 #line 130 "root_numpy/src/innerjoin.pyx"
         __pyx_t_6 = -1;

 #line 130 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_26 < 0) {
+        if (__pyx_t_25 < 0) {

 #line 130 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_26 += __pyx_pybuffernd_stretch_result_indices.diminfo[0].shape;
+          __pyx_t_25 += __pyx_pybuffernd_stretch_result_indices.diminfo[0].shape;

 #line 130 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_26 < 0)) __pyx_t_6 = 0;
+          if (unlikely(__pyx_t_25 < 0)) __pyx_t_6 = 0;
         } else
 #line 130 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_26 >= __pyx_pybuffernd_stretch_result_indices.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_25 >= __pyx_pybuffernd_stretch_result_indices.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 130 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_6 != -1)) {
@@ -75923,7 +73290,7 @@
         }

 #line 130 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_stretch_result_indices.diminfo[0].strides));
+        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_stretch_result_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":131
  *             for i_stretch from 0 <= i_stretch < nstretch:
@@ -75934,22 +73301,22 @@
  */

 #line 131 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_27 = __pyx_v_i_stretch;
+        __pyx_t_26 = __pyx_v_i_stretch;

 #line 131 "root_numpy/src/innerjoin.pyx"
         __pyx_t_6 = -1;

 #line 131 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_27 < 0) {
+        if (__pyx_t_26 < 0) {

 #line 131 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_27 += __pyx_pybuffernd_stretch_indices.diminfo[0].shape;
+          __pyx_t_26 += __pyx_pybuffernd_stretch_indices.diminfo[0].shape;

 #line 131 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_27 < 0)) __pyx_t_6 = 0;
+          if (unlikely(__pyx_t_26 < 0)) __pyx_t_6 = 0;
         } else
 #line 131 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_27 >= __pyx_pybuffernd_stretch_indices.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_26 >= __pyx_pybuffernd_stretch_indices.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 131 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_6 != -1)) {
@@ -75964,7 +73331,7 @@
         }

 #line 131 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_stretch_indices.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_stretch_indices.diminfo[0].strides));
+        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_stretch_indices.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_stretch_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":132
  *                 i_land = stretch_result_indices[i_stretch]
@@ -76025,10 +73392,10 @@
  */

 #line 133 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_23 = __pyx_v_nright;
+      __pyx_t_22 = __pyx_v_nright;

 #line 133 "root_numpy/src/innerjoin.pyx"
-      for (__pyx_v_i_right = 0; __pyx_v_i_right < __pyx_t_23; __pyx_v_i_right++) {
+      for (__pyx_v_i_right = 0; __pyx_v_i_right < __pyx_t_22; __pyx_v_i_right++) {

         /* "root_numpy/src/innerjoin.pyx":134
  *                 ret[i_ret][i_land] = data[i_data][i_source][left_good_index] # TODO: make this faster
@@ -76039,22 +73406,22 @@
  */

 #line 134 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_28 = __pyx_v_i_right;
+        __pyx_t_27 = __pyx_v_i_right;

 #line 134 "root_numpy/src/innerjoin.pyx"
         __pyx_t_6 = -1;

 #line 134 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_28 < 0) {
+        if (__pyx_t_27 < 0) {

 #line 134 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_28 += __pyx_pybuffernd_right_result_indices.diminfo[0].shape;
+          __pyx_t_27 += __pyx_pybuffernd_right_result_indices.diminfo[0].shape;

 #line 134 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_28 < 0)) __pyx_t_6 = 0;
+          if (unlikely(__pyx_t_27 < 0)) __pyx_t_6 = 0;
         } else
 #line 134 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_28 >= __pyx_pybuffernd_right_result_indices.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_27 >= __pyx_pybuffernd_right_result_indices.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 134 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_6 != -1)) {
@@ -76069,7 +73436,7 @@
         }

 #line 134 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_right_result_indices.diminfo[0].strides));
+        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer.buf, __pyx_t_27, __pyx_pybuffernd_right_result_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":135
  *             for i_right from 0 <= i_right < nright:
@@ -76080,22 +73447,22 @@
  */

 #line 135 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_29 = __pyx_v_i_right;
+        __pyx_t_28 = __pyx_v_i_right;

 #line 135 "root_numpy/src/innerjoin.pyx"
         __pyx_t_6 = -1;

 #line 135 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_29 < 0) {
+        if (__pyx_t_28 < 0) {

 #line 135 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_29 += __pyx_pybuffernd_right_indices.diminfo[0].shape;
+          __pyx_t_28 += __pyx_pybuffernd_right_indices.diminfo[0].shape;

 #line 135 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_29 < 0)) __pyx_t_6 = 0;
+          if (unlikely(__pyx_t_28 < 0)) __pyx_t_6 = 0;
         } else
 #line 135 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_29 >= __pyx_pybuffernd_right_indices.diminfo[0].shape)) __pyx_t_6 = 0;
+if (unlikely(__pyx_t_28 >= __pyx_pybuffernd_right_indices.diminfo[0].shape)) __pyx_t_6 = 0;

 #line 135 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_6 != -1)) {
@@ -76110,7 +73477,7 @@
         }

 #line 135 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_indices.rcbuffer->pybuffer.buf, __pyx_t_29, __pyx_pybuffernd_right_indices.diminfo[0].strides));
+        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_indices.rcbuffer->pybuffer.buf, __pyx_t_28, __pyx_pybuffernd_right_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":136
  *                 i_land = right_result_indices[i_right]
@@ -76265,9 +73632,6 @@

 #line 69 "root_numpy/src/innerjoin.pyx"
   __Pyx_XDECREF(__pyx_t_15);
-
-#line 69 "root_numpy/src/innerjoin.pyx"
-  __Pyx_XDECREF(__pyx_t_16);

 #line 69 "root_numpy/src/innerjoin.pyx"
   { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
@@ -76563,7 +73927,7 @@
   PyObject *__pyx_t_15 = NULL;

 #line 142 "root_numpy/src/innerjoin.pyx"
-  PyObject *__pyx_t_16 = NULL;
+  PyArrayObject *__pyx_t_16 = NULL;

 #line 142 "root_numpy/src/innerjoin.pyx"
   PyArrayObject *__pyx_t_17 = NULL;
@@ -76572,13 +73936,13 @@
   PyArrayObject *__pyx_t_18 = NULL;

 #line 142 "root_numpy/src/innerjoin.pyx"
-  PyArrayObject *__pyx_t_19 = NULL;
+  Py_ssize_t __pyx_t_19;

 #line 142 "root_numpy/src/innerjoin.pyx"
-  Py_ssize_t __pyx_t_20;
+  long __pyx_t_20;

 #line 142 "root_numpy/src/innerjoin.pyx"
-  long __pyx_t_21;
+  Py_ssize_t __pyx_t_21;

 #line 142 "root_numpy/src/innerjoin.pyx"
   Py_ssize_t __pyx_t_22;
@@ -76588,9 +73952,6 @@

 #line 142 "root_numpy/src/innerjoin.pyx"
   Py_ssize_t __pyx_t_24;
-
-#line 142 "root_numpy/src/innerjoin.pyx"
-  Py_ssize_t __pyx_t_25;

 #line 142 "root_numpy/src/innerjoin.pyx"
   __Pyx_RefNannySetupContext("_scalar_fk_inner_join", 0);
@@ -76779,7 +74140,7 @@
  */

 #line 150 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 150, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 150, __pyx_L1_error)

 #line 150 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -76800,7 +74161,7 @@
   __Pyx_GOTREF(__pyx_t_2);

 #line 150 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 150, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 150, __pyx_L1_error)

 #line 150 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -77162,7 +74523,7 @@
  */

 #line 160 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 160, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 160, __pyx_L1_error)

 #line 160 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_4);
@@ -77207,100 +74568,16 @@
   }

 #line 160 "root_numpy/src/innerjoin.pyx"
-  if (!__pyx_t_4) {
+  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_4, ((PyObject *)__pyx_v_fk_index_good)) : __Pyx_PyObject_CallOneArg(__pyx_t_8, ((PyObject *)__pyx_v_fk_index_good));

 #line 160 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_8, ((PyObject *)__pyx_v_fk_index_good)); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 160, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 160 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 160, __pyx_L1_error)

 #line 160 "root_numpy/src/innerjoin.pyx"
-  } else {
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    if (PyFunction_Check(__pyx_t_8)) {
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_fk_index_good)};
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 160, __pyx_L1_error)
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    } else
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    #endif
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, ((PyObject *)__pyx_v_fk_index_good)};
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 160, __pyx_L1_error)
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    } else
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    #endif
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    {
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = PyTuple_New(1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 160, __pyx_L1_error)
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(((PyObject *)__pyx_v_fk_index_good));
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(((PyObject *)__pyx_v_fk_index_good));
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      PyTuple_SET_ITEM(__pyx_t_6, 0+1, ((PyObject *)__pyx_v_fk_index_good));
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 160, __pyx_L1_error)
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 160 "root_numpy/src/innerjoin.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_3);

 #line 160 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -77323,16 +74600,16 @@
  */

 #line 161 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 161, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 161, __pyx_L1_error)

 #line 161 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_8);

 #line 161 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_empty); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 161, __pyx_L1_error)
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_empty); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 161, __pyx_L1_error)

 #line 161 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_t_4);

 #line 161 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -77344,31 +74621,31 @@
   __Pyx_GOTREF(__pyx_t_8);

 #line 161 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = NULL;
+  __pyx_t_6 = NULL;

 #line 161 "root_numpy/src/innerjoin.pyx"
   __pyx_t_7 = 0;

 #line 161 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {

 #line 161 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_6);
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);

 #line 161 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_4)) {
+    if (likely(__pyx_t_6)) {

 #line 161 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);

 #line 161 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_6);

 #line 161 "root_numpy/src/innerjoin.pyx"
       __Pyx_INCREF(function);

 #line 161 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_6, function);
+      __Pyx_DECREF_SET(__pyx_t_4, function);

 #line 161 "root_numpy/src/innerjoin.pyx"
       __pyx_t_7 = 1;
@@ -77383,16 +74660,16 @@
   #if CYTHON_FAST_PYCALL

 #line 161 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_6)) {
+  if (PyFunction_Check(__pyx_t_4)) {

 #line 161 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_8, __pyx_v_new_dtype};
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_8, __pyx_v_new_dtype};

 #line 161 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 161, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 161, __pyx_L1_error)

 #line 161 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 161 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);
@@ -77410,16 +74687,16 @@
   #if CYTHON_FAST_PYCCALL

 #line 161 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {

 #line 161 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_8, __pyx_v_new_dtype};
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_8, __pyx_v_new_dtype};

 #line 161 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 161, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 161, __pyx_L1_error)

 #line 161 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 161 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);
@@ -77443,10 +74720,10 @@
     __Pyx_GOTREF(__pyx_t_2);

 #line 161 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_4) {
+    if (__pyx_t_6) {

 #line 161 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
+      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_6); __pyx_t_6 = NULL;

 #line 161 "root_numpy/src/innerjoin.pyx"
     }
@@ -77470,7 +74747,7 @@
     __pyx_t_8 = 0;

 #line 161 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 161, __pyx_L1_error)
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 161, __pyx_L1_error)

 #line 161 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);
@@ -77482,7 +74759,7 @@
   }

 #line 161 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 161 "root_numpy/src/innerjoin.pyx"
   __pyx_v_ret = __pyx_t_3;
@@ -77499,25 +74776,25 @@
  */

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 165, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_t_4);

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 165, __pyx_L1_error)
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_array); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_2);

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 165, __pyx_L1_error)
+  __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GOTREF(__pyx_t_4);

 #line 165 "root_numpy/src/innerjoin.pyx"
   if (likely(PyList_CheckExact(__pyx_v_repeat_columns)) || PyTuple_CheckExact(__pyx_v_repeat_columns)) {
@@ -77559,16 +74836,16 @@
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 165, __pyx_L1_error)
+        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
         #else

 #line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
+        __pyx_t_6 = PySequence_ITEM(__pyx_t_8, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_GOTREF(__pyx_t_6);

 #line 165 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -77583,16 +74860,16 @@
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 165, __pyx_L1_error)
+        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_8, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
         #else

 #line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = PySequence_ITEM(__pyx_t_8, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
+        __pyx_t_6 = PySequence_ITEM(__pyx_t_8, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
+        __Pyx_GOTREF(__pyx_t_6);

 #line 165 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -77604,10 +74881,10 @@
 {

 #line 165 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_4 = __pyx_t_14(__pyx_t_8);
+      __pyx_t_6 = __pyx_t_14(__pyx_t_8);

 #line 165 "root_numpy/src/innerjoin.pyx"
-      if (unlikely(!__pyx_t_4)) {
+      if (unlikely(!__pyx_t_6)) {

 #line 165 "root_numpy/src/innerjoin.pyx"
         PyObject* exc_type = PyErr_Occurred();
@@ -77631,358 +74908,274 @@
       }

 #line 165 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_4);
+      __Pyx_GOTREF(__pyx_t_6);

 #line 165 "root_numpy/src/innerjoin.pyx"
     }

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
+    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_6 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_ret, __pyx_n_s_dtype); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_5);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_15);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_5);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_15 = NULL;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_5);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      if (likely(__pyx_t_15)) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+        __Pyx_INCREF(__pyx_t_15);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+        __Pyx_INCREF(function);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+        __Pyx_DECREF_SET(__pyx_t_5, function);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      }
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_6 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_15, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_x);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_6);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_t_6))) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_8);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __Pyx_GOTREF(__pyx_t_6);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_8 = NULL;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  __pyx_t_7 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    if (likely(__pyx_t_8)) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      __Pyx_INCREF(__pyx_t_8);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      __Pyx_INCREF(function);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      __Pyx_DECREF_SET(__pyx_t_2, function);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      __pyx_t_7 = 1;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCALL
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_2)) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_4, __pyx_t_6};
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCCALL
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_4, __pyx_t_6};
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+  {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 165, __pyx_L1_error)
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_5);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    if (__pyx_t_8) {
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL;
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_4);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_t_4);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_6);
+
+#line 165 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_t_6);

 #line 165 "root_numpy/src/innerjoin.pyx"
     __pyx_t_4 = 0;

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_ret, __pyx_n_s_dtype); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 165, __pyx_L1_error)
+    __pyx_t_6 = 0;

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_5);
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_15);
+    __Pyx_GOTREF(__pyx_t_3);

 #line 165 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 165, __pyx_L1_error)
+  }

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 165, __pyx_L1_error)

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_15 = NULL;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_5);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      if (likely(__pyx_t_15)) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_t_15);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(function);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF_SET(__pyx_t_5, function);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_15) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    } else {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_5)) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      } else
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      #endif
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_16);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_v_x);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_6, (PyObject*)__pyx_t_4))) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_8);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_int); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_8 = NULL;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_8)) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_8);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_2, function);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_7 = 1;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_2)) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_t_4};
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  #endif
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_t_6, __pyx_t_4};
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_16 = ((PyArrayObject *)__pyx_t_3);

 #line 165 "root_numpy/src/innerjoin.pyx"
   {

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 165, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_5);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_8) {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_8); __pyx_t_8 = NULL;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_6);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_t_6);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_t_4);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_6 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 165, __pyx_L1_error)
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_17 = ((PyArrayObject *)__pyx_t_3);
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 165 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_16, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 165 "root_numpy/src/innerjoin.pyx"
       __pyx_v_repeat_result_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer.buf = NULL;
@@ -78000,7 +75193,7 @@
   }

 #line 165 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_17 = 0;
+  __pyx_t_16 = 0;

 #line 165 "root_numpy/src/innerjoin.pyx"
   __pyx_v_repeat_result_indices = ((PyArrayObject *)__pyx_t_3);
@@ -78017,7 +75210,7 @@
  */

 #line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 167, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_np); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_2);
@@ -78041,7 +75234,7 @@
   if (likely(PyList_CheckExact(__pyx_v_stretch_columns)) || PyTuple_CheckExact(__pyx_v_stretch_columns)) {

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = __pyx_v_stretch_columns; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;
+    __pyx_t_6 = __pyx_v_stretch_columns; __Pyx_INCREF(__pyx_t_6); __pyx_t_1 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
     __pyx_t_14 = NULL;
@@ -78050,13 +75243,13 @@
   } else {
     __pyx_t_1 = -1;
 #line 167 "root_numpy/src/innerjoin.pyx"
-__pyx_t_4 = PyObject_GetIter(__pyx_v_stretch_columns); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 167, __pyx_L1_error)
+__pyx_t_6 = PyObject_GetIter(__pyx_v_stretch_columns); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GOTREF(__pyx_t_6);

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_14 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 167, __pyx_L1_error)
+    __pyx_t_14 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
   }
@@ -78068,25 +75261,25 @@
     if (likely(!__pyx_t_14)) {

 #line 167 "root_numpy/src/innerjoin.pyx"
-      if (likely(PyList_CheckExact(__pyx_t_4))) {
+      if (likely(PyList_CheckExact(__pyx_t_6))) {

 #line 167 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;
+        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_6)) break;

 #line 167 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 167, __pyx_L1_error)
+        __pyx_t_4 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
         #else

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_GOTREF(__pyx_t_4);

 #line 167 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -78095,22 +75288,22 @@
       } else {

 #line 167 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
+        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_6)) break;

 #line 167 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_6); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 167, __pyx_L1_error)
+        __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_t_4); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
         #else

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
+        __pyx_t_4 = PySequence_ITEM(__pyx_t_6, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
+        __Pyx_GOTREF(__pyx_t_4);

 #line 167 "root_numpy/src/innerjoin.pyx"
         #endif
@@ -78122,10 +75315,10 @@
 {

 #line 167 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = __pyx_t_14(__pyx_t_4);
+      __pyx_t_4 = __pyx_t_14(__pyx_t_6);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      if (unlikely(!__pyx_t_6)) {
+      if (unlikely(!__pyx_t_4)) {

 #line 167 "root_numpy/src/innerjoin.pyx"
         PyObject* exc_type = PyErr_Occurred();
@@ -78149,16 +75342,16 @@
       }

 #line 167 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
+      __Pyx_GOTREF(__pyx_t_4);

 #line 167 "root_numpy/src/innerjoin.pyx"
     }

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_6);
+    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_6 = 0;
+    __pyx_t_4 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
     __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_ret, __pyx_n_s_dtype); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 167, __pyx_L1_error)
@@ -78167,40 +75360,40 @@
     __Pyx_GOTREF(__pyx_t_8);

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_names); if (unlikely(!__pyx_t_16)) __PYX_ERR(9, 167, __pyx_L1_error)
+    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_16);
+    __Pyx_GOTREF(__pyx_t_15);

 #line 167 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_16, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 167, __pyx_L1_error)
+    __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_8);

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
+    __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_16 = NULL;
+    __pyx_t_15 = NULL;

 #line 167 "root_numpy/src/innerjoin.pyx"
     if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 167 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_16 = PyMethod_GET_SELF(__pyx_t_8);
+      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_8);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      if (likely(__pyx_t_16)) {
+      if (likely(__pyx_t_15)) {

 #line 167 "root_numpy/src/innerjoin.pyx"
         PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_t_16);
+        __Pyx_INCREF(__pyx_t_15);

 #line 167 "root_numpy/src/innerjoin.pyx"
         __Pyx_INCREF(function);
@@ -78215,292 +75408,208 @@
     }

 #line 167 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_16) {
+    __pyx_t_4 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_15, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_x);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_x); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_6);
+    if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_4);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_8)) {
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_4))) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_v_x};
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
+  }

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-      } else
+  __Pyx_GOTREF(__pyx_t_6);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      #endif
+  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
+  __Pyx_GOTREF(__pyx_t_4);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_16, __pyx_v_x};
+  __pyx_t_6 = NULL;

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
+  __pyx_t_7 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_16); __pyx_t_16 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      } else
+    if (likely(__pyx_t_6)) {

 #line 167 "root_numpy/src/innerjoin.pyx"
-      #endif
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);

 #line 167 "root_numpy/src/innerjoin.pyx"
-      {
+      __Pyx_INCREF(__pyx_t_6);

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_15 = PyTuple_New(1+1); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 167, __pyx_L1_error)
+      __Pyx_INCREF(function);

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_15);
+      __Pyx_DECREF_SET(__pyx_t_5, function);

 #line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_16); __pyx_t_16 = NULL;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_15, 0+1, __pyx_v_x);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_6);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      }
+      __pyx_t_7 = 1;

 #line 167 "root_numpy/src/innerjoin.pyx"
     }

 #line 167 "root_numpy/src/innerjoin.pyx"
+  }
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCALL
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_5)) {
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_t_4};
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 167, __pyx_L1_error)
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  #if CYTHON_FAST_PYCCALL
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_2, __pyx_t_4};
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 167, __pyx_L1_error)
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  } else
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  #endif
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+  {
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 167, __pyx_L1_error)
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_8);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    if (__pyx_t_6) {
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    }
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_2);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GIVEREF(__pyx_t_4);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_2 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_4 = 0;
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 167, __pyx_L1_error)
+
+#line 167 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 167 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_6))) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
   }

 #line 167 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 167, __pyx_L1_error)
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 167, __pyx_L1_error)

 #line 167 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_6);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = NULL;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_4)) {
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_4);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_5, function);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_7 = 1;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_5)) {
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_2, __pyx_t_6};
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  #endif
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_2, __pyx_t_6};
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_17 = ((PyArrayObject *)__pyx_t_3);

 #line 167 "root_numpy/src/innerjoin.pyx"
   {

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 167, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_8);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_4) {
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_2);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_2);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_6);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_6);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_6 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 167, __pyx_L1_error)
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_18 = ((PyArrayObject *)__pyx_t_3);
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 167 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_17, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 167 "root_numpy/src/innerjoin.pyx"
       __pyx_v_stretch_result_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_stretch_result_indices.rcbuffer->pybuffer.buf = NULL;
@@ -78518,7 +75627,7 @@
   }

 #line 167 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_18 = 0;
+  __pyx_t_17 = 0;

 #line 167 "root_numpy/src/innerjoin.pyx"
   __pyx_v_stretch_result_indices = ((PyArrayObject *)__pyx_t_3);
@@ -78535,7 +75644,7 @@
  */

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_5 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 169, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_np); if (unlikely(!__pyx_t_5)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_5);
@@ -78559,7 +75668,7 @@
   if (likely(PyList_CheckExact(__pyx_v_right)) || PyTuple_CheckExact(__pyx_v_right)) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_6 = __pyx_v_right; __Pyx_INCREF(__pyx_t_6); __pyx_t_1 = 0;
+    __pyx_t_4 = __pyx_v_right; __Pyx_INCREF(__pyx_t_4); __pyx_t_1 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
     __pyx_t_14 = NULL;
@@ -78568,13 +75677,13 @@
   } else {
     __pyx_t_1 = -1;
 #line 169 "root_numpy/src/innerjoin.pyx"
-__pyx_t_6 = PyObject_GetIter(__pyx_v_right); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 169, __pyx_L1_error)
+__pyx_t_4 = PyObject_GetIter(__pyx_v_right); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_6);
+    __Pyx_GOTREF(__pyx_t_4);

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_14 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __pyx_t_14 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_14)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
   }
@@ -78586,22 +75695,22 @@
     if (likely(!__pyx_t_14)) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-      if (likely(PyList_CheckExact(__pyx_t_6))) {
+      if (likely(PyList_CheckExact(__pyx_t_4))) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_6)) break;
+        if (__pyx_t_1 >= PyList_GET_SIZE(__pyx_t_4)) break;

 #line 169 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 169, __pyx_L1_error)
+        __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
         #else

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
+        __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
         __Pyx_GOTREF(__pyx_t_2);
@@ -78613,19 +75722,19 @@
       } else {

 #line 169 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_6)) break;
+        if (__pyx_t_1 >= PyTuple_GET_SIZE(__pyx_t_4)) break;

 #line 169 "root_numpy/src/innerjoin.pyx"
         #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 169, __pyx_L1_error)
+        __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_1); __Pyx_INCREF(__pyx_t_2); __pyx_t_1++; if (unlikely(0 < 0)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
         #else

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = PySequence_ITEM(__pyx_t_6, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
+        __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_1); __pyx_t_1++; if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
         __Pyx_GOTREF(__pyx_t_2);
@@ -78640,7 +75749,7 @@
 {

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_2 = __pyx_t_14(__pyx_t_6);
+      __pyx_t_2 = __pyx_t_14(__pyx_t_4);

 #line 169 "root_numpy/src/innerjoin.pyx"
       if (unlikely(!__pyx_t_2)) {
@@ -78679,25 +75788,25 @@
     __pyx_t_2 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_ret, __pyx_n_s_dtype); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_ret, __pyx_n_s_dtype); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GOTREF(__pyx_t_6);

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_names); if (unlikely(!__pyx_t_15)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_15);

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_index); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_4);
+    __Pyx_GOTREF(__pyx_t_6);

 #line 169 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
@@ -78706,16 +75815,16 @@
     __pyx_t_15 = NULL;

 #line 169 "root_numpy/src/innerjoin.pyx"
-    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
+    if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_4);
+      __pyx_t_15 = PyMethod_GET_SELF(__pyx_t_6);

 #line 169 "root_numpy/src/innerjoin.pyx"
       if (likely(__pyx_t_15)) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
+        PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);

 #line 169 "root_numpy/src/innerjoin.pyx"
         __Pyx_INCREF(__pyx_t_15);
@@ -78724,7 +75833,7 @@
         __Pyx_INCREF(function);

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF_SET(__pyx_t_4, function);
+        __Pyx_DECREF_SET(__pyx_t_6, function);

 #line 169 "root_numpy/src/innerjoin.pyx"
       }
@@ -78733,292 +75842,208 @@
     }

 #line 169 "root_numpy/src/innerjoin.pyx"
-    if (!__pyx_t_15) {
+    __pyx_t_2 = (__pyx_t_15) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_15, __pyx_v_x) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_x);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
+    if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-    } else {
+    __Pyx_GOTREF(__pyx_t_2);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCALL
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-      if (PyFunction_Check(__pyx_t_4)) {
+    if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_2))) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
+  }

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_np); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-      } else
+  __Pyx_GOTREF(__pyx_t_4);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      #endif
+  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-      #if CYTHON_FAST_PYCCALL
+  __Pyx_GOTREF(__pyx_t_2);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
+  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-        PyObject *__pyx_temp[2] = {__pyx_t_15, __pyx_v_x};
+  __pyx_t_4 = NULL;

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
+  __pyx_t_7 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
+  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      } else
+    if (likely(__pyx_t_4)) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-      #endif
+      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      {
+      __Pyx_INCREF(__pyx_t_4);

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_16 = PyTuple_New(1+1); if (unlikely(!__pyx_t_16)) __PYX_ERR(9, 169, __pyx_L1_error)
+      __Pyx_INCREF(function);

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_16);
+      __Pyx_DECREF_SET(__pyx_t_8, function);

 #line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_INCREF(__pyx_v_x);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GIVEREF(__pyx_v_x);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-        PyTuple_SET_ITEM(__pyx_t_16, 0+1, __pyx_v_x);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_16, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_GOTREF(__pyx_t_2);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-        __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-      }
+      __pyx_t_7 = 1;

 #line 169 "root_numpy/src/innerjoin.pyx"
     }

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  }

 #line 169 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_2))) __PYX_ERR(9, 169, __pyx_L1_error)
+  #if CYTHON_FAST_PYCALL
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+  if (PyFunction_Check(__pyx_t_8)) {
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_5, __pyx_t_2};
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 169, __pyx_L1_error)
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+    __Pyx_GOTREF(__pyx_t_3);
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-  }
+  } else

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  #endif

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 169, __pyx_L1_error)
+  #if CYTHON_FAST_PYCCALL

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_6);
+  if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_int); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 169, __pyx_L1_error)
+    PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_5, __pyx_t_2};

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_6 = NULL;
+    __Pyx_GOTREF(__pyx_t_3);

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_7 = 0;
+    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-  if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
+  } else

 #line 169 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_6)) {
+  #endif

 #line 169 "root_numpy/src/innerjoin.pyx"
-      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
+  {

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_6);
+    __pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(function);
+    __Pyx_GOTREF(__pyx_t_6);

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF_SET(__pyx_t_8, function);
+    if (__pyx_t_4) {

 #line 169 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_7 = 1;
+      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;

 #line 169 "root_numpy/src/innerjoin.pyx"
     }

 #line 169 "root_numpy/src/innerjoin.pyx"
-  }
+    __Pyx_GIVEREF(__pyx_t_5);

 #line 169 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCALL
+    PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_5);

 #line 169 "root_numpy/src/innerjoin.pyx"
-  if (PyFunction_Check(__pyx_t_8)) {
+    __Pyx_GIVEREF(__pyx_t_2);

 #line 169 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_t_2};
+    PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_t_2);

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __pyx_t_5 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
+    __pyx_t_2 = 0;
+
+#line 169 "root_numpy/src/innerjoin.pyx"
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
     __Pyx_GOTREF(__pyx_t_3);

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+    __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  }

 #line 169 "root_numpy/src/innerjoin.pyx"
-  } else
+  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
-  #endif
+  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 169, __pyx_L1_error)

 #line 169 "root_numpy/src/innerjoin.pyx"
-  #if CYTHON_FAST_PYCCALL
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_t_5, __pyx_t_2};
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 169, __pyx_L1_error)
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  } else
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  #endif
+  __pyx_t_18 = ((PyArrayObject *)__pyx_t_3);

 #line 169 "root_numpy/src/innerjoin.pyx"
   {

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 169, __pyx_L1_error)
+    __Pyx_BufFmt_StackElem __pyx_stack[1];

 #line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_4);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_6) {
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_5);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_t_5);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GIVEREF(__pyx_t_2);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_t_2);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_5 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_2 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 169, __pyx_L1_error)
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  }
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))))) __PYX_ERR(9, 169, __pyx_L1_error)
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_19 = ((PyArrayObject *)__pyx_t_3);
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-  {
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    __Pyx_BufFmt_StackElem __pyx_stack[1];
-
-#line 169 "root_numpy/src/innerjoin.pyx"
-    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_19, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {
+    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer, (PyObject*)__pyx_t_18, &__Pyx_TypeInfo_nn___pyx_t_5numpy_int_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {

 #line 169 "root_numpy/src/innerjoin.pyx"
       __pyx_v_right_result_indices = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None); __pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer.buf = NULL;
@@ -79036,7 +76061,7 @@
   }

 #line 169 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_19 = 0;
+  __pyx_t_18 = 0;

 #line 169 "root_numpy/src/innerjoin.pyx"
   __pyx_v_right_result_indices = ((PyArrayObject *)__pyx_t_3);
@@ -79059,40 +76084,40 @@
   __Pyx_GOTREF(__pyx_t_8);

 #line 170 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_names); if (unlikely(!__pyx_t_4)) __PYX_ERR(9, 170, __pyx_L1_error)
+  __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_names); if (unlikely(!__pyx_t_6)) __PYX_ERR(9, 170, __pyx_L1_error)

 #line 170 "root_numpy/src/innerjoin.pyx"
-  __Pyx_GOTREF(__pyx_t_4);
+  __Pyx_GOTREF(__pyx_t_6);

 #line 170 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 170 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 170, __pyx_L1_error)
+  __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_index); if (unlikely(!__pyx_t_8)) __PYX_ERR(9, 170, __pyx_L1_error)

 #line 170 "root_numpy/src/innerjoin.pyx"
   __Pyx_GOTREF(__pyx_t_8);

 #line 170 "root_numpy/src/innerjoin.pyx"
-  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 170 "root_numpy/src/innerjoin.pyx"
-  __pyx_t_4 = NULL;
+  __pyx_t_6 = NULL;

 #line 170 "root_numpy/src/innerjoin.pyx"
   if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {

 #line 170 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
+    __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);

 #line 170 "root_numpy/src/innerjoin.pyx"
-    if (likely(__pyx_t_4)) {
+    if (likely(__pyx_t_6)) {

 #line 170 "root_numpy/src/innerjoin.pyx"
       PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);

 #line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_t_4);
+      __Pyx_INCREF(__pyx_t_6);

 #line 170 "root_numpy/src/innerjoin.pyx"
       __Pyx_INCREF(function);
@@ -79107,100 +76132,16 @@
   }

 #line 170 "root_numpy/src/innerjoin.pyx"
-  if (!__pyx_t_4) {
+  __pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_6, __pyx_v_fk_name) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_fk_name);

 #line 170 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_fk_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 170, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 170 "root_numpy/src/innerjoin.pyx"
-    __Pyx_GOTREF(__pyx_t_3);
+  if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 170, __pyx_L1_error)

 #line 170 "root_numpy/src/innerjoin.pyx"
-  } else {
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    #if CYTHON_FAST_PYCALL
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    if (PyFunction_Check(__pyx_t_8)) {
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_fk_name};
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 170, __pyx_L1_error)
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    } else
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    #endif
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    #if CYTHON_FAST_PYCCALL
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      PyObject *__pyx_temp[2] = {__pyx_t_4, __pyx_v_fk_name};
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-1, 1+1); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 170, __pyx_L1_error)
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    } else
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    #endif
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    {
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_2 = PyTuple_New(1+1); if (unlikely(!__pyx_t_2)) __PYX_ERR(9, 170, __pyx_L1_error)
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_2);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_INCREF(__pyx_v_fk_name);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GIVEREF(__pyx_v_fk_name);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      PyTuple_SET_ITEM(__pyx_t_2, 0+1, __pyx_v_fk_name);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(9, 170, __pyx_L1_error)
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_GOTREF(__pyx_t_3);
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-    }
-
-#line 170 "root_numpy/src/innerjoin.pyx"
-  }
+  __Pyx_GOTREF(__pyx_t_3);

 #line 170 "root_numpy/src/innerjoin.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -79331,22 +76272,22 @@
  */

 #line 182 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_20 = __pyx_v_i_data;
+    __pyx_t_19 = __pyx_v_i_data;

 #line 182 "root_numpy/src/innerjoin.pyx"
     __pyx_t_7 = -1;

 #line 182 "root_numpy/src/innerjoin.pyx"
-    if (__pyx_t_20 < 0) {
+    if (__pyx_t_19 < 0) {

 #line 182 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_20 += __pyx_pybuffernd_fk_index_good.diminfo[0].shape;
+      __pyx_t_19 += __pyx_pybuffernd_fk_index_good.diminfo[0].shape;

 #line 182 "root_numpy/src/innerjoin.pyx"
-      if (unlikely(__pyx_t_20 < 0)) __pyx_t_7 = 0;
+      if (unlikely(__pyx_t_19 < 0)) __pyx_t_7 = 0;
     } else
 #line 182 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_20 >= __pyx_pybuffernd_fk_index_good.diminfo[0].shape)) __pyx_t_7 = 0;
+if (unlikely(__pyx_t_19 >= __pyx_pybuffernd_fk_index_good.diminfo[0].shape)) __pyx_t_7 = 0;

 #line 182 "root_numpy/src/innerjoin.pyx"
     if (unlikely(__pyx_t_7 != -1)) {
@@ -79361,7 +76302,7 @@
     }

 #line 182 "root_numpy/src/innerjoin.pyx"
-    __pyx_t_12 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_fk_index_good.rcbuffer->pybuffer.buf, __pyx_t_20, __pyx_pybuffernd_fk_index_good.diminfo[0].strides)) != 0);
+    __pyx_t_12 = ((*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int8_t *, __pyx_pybuffernd_fk_index_good.rcbuffer->pybuffer.buf, __pyx_t_19, __pyx_pybuffernd_fk_index_good.diminfo[0].strides)) != 0);

 #line 182 "root_numpy/src/innerjoin.pyx"
     if (__pyx_t_12) {
@@ -79381,13 +76322,13 @@
       __Pyx_GOTREF(__pyx_t_3);

 #line 183 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(9, 183, __pyx_L1_error)
+      __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(9, 183, __pyx_L1_error)

 #line 183 "root_numpy/src/innerjoin.pyx"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

 #line 183 "root_numpy/src/innerjoin.pyx"
-      __pyx_v_right_good_index = __pyx_t_21;
+      __pyx_v_right_good_index = __pyx_t_20;

       /* "root_numpy/src/innerjoin.pyx":184
  *         if fk_index_good[i_data]:
@@ -79398,10 +76339,10 @@
  */

 #line 184 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_21 = __pyx_v_nrepeat;
+      __pyx_t_20 = __pyx_v_nrepeat;

 #line 184 "root_numpy/src/innerjoin.pyx"
-      for (__pyx_v_i_repeat = 0; __pyx_v_i_repeat < __pyx_t_21; __pyx_v_i_repeat++) {
+      for (__pyx_v_i_repeat = 0; __pyx_v_i_repeat < __pyx_t_20; __pyx_v_i_repeat++) {

         /* "root_numpy/src/innerjoin.pyx":185
  *             right_good_index = fk[i_data]
@@ -79412,22 +76353,22 @@
  */

 #line 185 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_22 = __pyx_v_i_repeat;
+        __pyx_t_21 = __pyx_v_i_repeat;

 #line 185 "root_numpy/src/innerjoin.pyx"
         __pyx_t_7 = -1;

 #line 185 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_22 < 0) {
+        if (__pyx_t_21 < 0) {

 #line 185 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_22 += __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape;
+          __pyx_t_21 += __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape;

 #line 185 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_22 < 0)) __pyx_t_7 = 0;
+          if (unlikely(__pyx_t_21 < 0)) __pyx_t_7 = 0;
         } else
 #line 185 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_22 >= __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape)) __pyx_t_7 = 0;
+if (unlikely(__pyx_t_21 >= __pyx_pybuffernd_repeat_result_indices.diminfo[0].shape)) __pyx_t_7 = 0;

 #line 185 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_7 != -1)) {
@@ -79442,7 +76383,7 @@
         }

 #line 185 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_repeat_result_indices.diminfo[0].strides));
+        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_result_indices.rcbuffer->pybuffer.buf, __pyx_t_21, __pyx_pybuffernd_repeat_result_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":186
  *             for i_repeat from 0 <= i_repeat < nrepeat:
@@ -79453,22 +76394,22 @@
  */

 #line 186 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_23 = __pyx_v_i_repeat;
+        __pyx_t_22 = __pyx_v_i_repeat;

 #line 186 "root_numpy/src/innerjoin.pyx"
         __pyx_t_7 = -1;

 #line 186 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_23 < 0) {
+        if (__pyx_t_22 < 0) {

 #line 186 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_23 += __pyx_pybuffernd_repeat_indices.diminfo[0].shape;
+          __pyx_t_22 += __pyx_pybuffernd_repeat_indices.diminfo[0].shape;

 #line 186 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_23 < 0)) __pyx_t_7 = 0;
+          if (unlikely(__pyx_t_22 < 0)) __pyx_t_7 = 0;
         } else
 #line 186 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_23 >= __pyx_pybuffernd_repeat_indices.diminfo[0].shape)) __pyx_t_7 = 0;
+if (unlikely(__pyx_t_22 >= __pyx_pybuffernd_repeat_indices.diminfo[0].shape)) __pyx_t_7 = 0;

 #line 186 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_7 != -1)) {
@@ -79483,7 +76424,7 @@
         }

 #line 186 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_repeat_indices.diminfo[0].strides));
+        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_repeat_indices.rcbuffer->pybuffer.buf, __pyx_t_22, __pyx_pybuffernd_repeat_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":187
  *                 i_land = repeat_result_indices[i_repeat]
@@ -79535,10 +76476,10 @@
  */

 #line 188 "root_numpy/src/innerjoin.pyx"
-      __pyx_t_21 = __pyx_v_nright;
+      __pyx_t_20 = __pyx_v_nright;

 #line 188 "root_numpy/src/innerjoin.pyx"
-      for (__pyx_v_i_right = 0; __pyx_v_i_right < __pyx_t_21; __pyx_v_i_right++) {
+      for (__pyx_v_i_right = 0; __pyx_v_i_right < __pyx_t_20; __pyx_v_i_right++) {

         /* "root_numpy/src/innerjoin.pyx":189
  *                 ret[i_ret][i_land] = data[i_data][i_source]
@@ -79549,22 +76490,22 @@
  */

 #line 189 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_24 = __pyx_v_i_right;
+        __pyx_t_23 = __pyx_v_i_right;

 #line 189 "root_numpy/src/innerjoin.pyx"
         __pyx_t_7 = -1;

 #line 189 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_24 < 0) {
+        if (__pyx_t_23 < 0) {

 #line 189 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_24 += __pyx_pybuffernd_right_result_indices.diminfo[0].shape;
+          __pyx_t_23 += __pyx_pybuffernd_right_result_indices.diminfo[0].shape;

 #line 189 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_24 < 0)) __pyx_t_7 = 0;
+          if (unlikely(__pyx_t_23 < 0)) __pyx_t_7 = 0;
         } else
 #line 189 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_24 >= __pyx_pybuffernd_right_result_indices.diminfo[0].shape)) __pyx_t_7 = 0;
+if (unlikely(__pyx_t_23 >= __pyx_pybuffernd_right_result_indices.diminfo[0].shape)) __pyx_t_7 = 0;

 #line 189 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_7 != -1)) {
@@ -79579,7 +76520,7 @@
         }

 #line 189 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_right_result_indices.diminfo[0].strides));
+        __pyx_v_i_land = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_result_indices.rcbuffer->pybuffer.buf, __pyx_t_23, __pyx_pybuffernd_right_result_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":190
  *             for i_right from 0 <= i_right < nright:
@@ -79590,22 +76531,22 @@
  */

 #line 190 "root_numpy/src/innerjoin.pyx"
-        __pyx_t_25 = __pyx_v_i_right;
+        __pyx_t_24 = __pyx_v_i_right;

 #line 190 "root_numpy/src/innerjoin.pyx"
         __pyx_t_7 = -1;

 #line 190 "root_numpy/src/innerjoin.pyx"
-        if (__pyx_t_25 < 0) {
+        if (__pyx_t_24 < 0) {

 #line 190 "root_numpy/src/innerjoin.pyx"
-          __pyx_t_25 += __pyx_pybuffernd_right_indices.diminfo[0].shape;
+          __pyx_t_24 += __pyx_pybuffernd_right_indices.diminfo[0].shape;

 #line 190 "root_numpy/src/innerjoin.pyx"
-          if (unlikely(__pyx_t_25 < 0)) __pyx_t_7 = 0;
+          if (unlikely(__pyx_t_24 < 0)) __pyx_t_7 = 0;
         } else
 #line 190 "root_numpy/src/innerjoin.pyx"
-if (unlikely(__pyx_t_25 >= __pyx_pybuffernd_right_indices.diminfo[0].shape)) __pyx_t_7 = 0;
+if (unlikely(__pyx_t_24 >= __pyx_pybuffernd_right_indices.diminfo[0].shape)) __pyx_t_7 = 0;

 #line 190 "root_numpy/src/innerjoin.pyx"
         if (unlikely(__pyx_t_7 != -1)) {
@@ -79620,7 +76561,7 @@
         }

 #line 190 "root_numpy/src/innerjoin.pyx"
-        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_indices.rcbuffer->pybuffer.buf, __pyx_t_25, __pyx_pybuffernd_right_indices.diminfo[0].strides));
+        __pyx_v_i_source = (*__Pyx_BufPtrStrided1d(__pyx_t_5numpy_int_t *, __pyx_pybuffernd_right_indices.rcbuffer->pybuffer.buf, __pyx_t_24, __pyx_pybuffernd_right_indices.diminfo[0].strides));

         /* "root_numpy/src/innerjoin.pyx":191
  *                 i_land = right_result_indices[i_right]
@@ -79782,9 +76723,6 @@
   __Pyx_XDECREF(__pyx_t_15);

 #line 142 "root_numpy/src/innerjoin.pyx"
-  __Pyx_XDECREF(__pyx_t_16);
-
-#line 142 "root_numpy/src/innerjoin.pyx"
   { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;

 #line 142 "root_numpy/src/innerjoin.pyx"
@@ -79883,7 +76821,7 @@
 #line 142 "root_numpy/src/innerjoin.pyx"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":215
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -79891,127 +76829,130 @@
  *             # requirements, and does not yet fulfill the PEP.
  */

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 /* Python wrapper */

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags); /*proto*/

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_UNUSED int __pyx_pw_5numpy_7ndarray_1__getbuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_r;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("__getbuffer__ (wrapper)", 0);
   __pyx_r =
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 __pyx_pf_5numpy_7ndarray___getbuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info), ((int)__pyx_v_flags));

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static int __pyx_pf_5numpy_7ndarray___getbuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info, int __pyx_v_flags) {
   int __pyx_v_i
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_ndim
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_endian_detector
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_little_endian
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_t
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   char *__pyx_v_f
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   PyArray_Descr *__pyx_v_descr = 0
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_offset
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_r;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_1;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_2;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_3 = NULL;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_4;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_5;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_6;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  PyObject *__pyx_t_7 = NULL;
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  char *__pyx_t_8;
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  PyArray_Descr *__pyx_t_7;
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  PyObject *__pyx_t_8 = NULL;
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  char *__pyx_t_9;
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_v_info == NULL) {

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     PyErr_SetString(PyExc_BufferError, "PyObject_GetBuffer: view==NULL argument is obsolete");

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     return -1;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("__getbuffer__", 0);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->obj = Py_None; __Pyx_INCREF(Py_None);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GIVEREF(__pyx_v_info->obj);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":222
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
  *
  *             cdef int i, ndim
  *             cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -80019,10 +76960,10 @@
  *
  */

-#line 222 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 265 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_endian_detector = 1;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":223
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
  *             cdef int i, ndim
  *             cdef int endian_detector = 1
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -80030,10 +76971,10 @@
  *             ndim = PyArray_NDIM(self)
  */

-#line 223 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 266 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":225
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
  *             cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
  *
  *             ndim = PyArray_NDIM(self)             # <<<<<<<<<<<<<<
@@ -80041,186 +76982,186 @@
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
  */

-#line 225 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 268 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_ndim = PyArray_NDIM(__pyx_v_self);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":227
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
  *             ndim = PyArray_NDIM(self)
  *
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
- *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")
  */

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_2 = (((__pyx_v_flags & PyBUF_C_CONTIGUOUS) == PyBUF_C_CONTIGUOUS) != 0);

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_2) {

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   } else {

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_1 = __pyx_t_2;

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L4_bool_binop_done;

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":228
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
  *
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):             # <<<<<<<<<<<<<<
  *                 raise ValueError(u"ndarray is not C contiguous")
  *
  */

-#line 228 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_C_CONTIGUOUS) != 0)) != 0);
-
-#line 228 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 271 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_C_CONTIGUOUS) != 0)) != 0);
+
+#line 271 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = __pyx_t_2;

-#line 228 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 271 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L4_bool_binop_done:;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":227
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
  *             ndim = PyArray_NDIM(self)
  *
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
- *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")
  */

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (unlikely(__pyx_t_1)) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
  *
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  */

-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__45, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 229, __pyx_L1_error)
-
-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__34, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 272, __pyx_L1_error)
+
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_t_3);

-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_Raise(__pyx_t_3, 0, 0, 0);

-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __PYX_ERR(10, 229, __pyx_L1_error)
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":227
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __PYX_ERR(10, 272, __pyx_L1_error)
+
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
  *             ndim = PyArray_NDIM(self)
  *
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)             # <<<<<<<<<<<<<<
- *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")
  */

-#line 227 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 270 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
  *                 raise ValueError(u"ndarray is not C contiguous")
  *
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
- *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  */

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_2 = (((__pyx_v_flags & PyBUF_F_CONTIGUOUS) == PyBUF_F_CONTIGUOUS) != 0);

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_2) {

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   } else {

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_1 = __pyx_t_2;

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L7_bool_binop_done;

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":232
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
  *
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):             # <<<<<<<<<<<<<<
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  *
  */

-#line 232 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_F_CONTIGUOUS) != 0)) != 0);
-
-#line 232 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 275 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_2 = ((!(PyArray_CHKFLAGS(__pyx_v_self, NPY_ARRAY_F_CONTIGUOUS) != 0)) != 0);
+
+#line 275 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = __pyx_t_2;

-#line 232 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 275 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L7_bool_binop_done:;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
  *                 raise ValueError(u"ndarray is not C contiguous")
  *
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
- *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  */

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (unlikely(__pyx_t_1)) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
  *
  *             info.buf = PyArray_DATA(self)
  */

-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__46, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 233, __pyx_L1_error)
-
-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__35, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 276, __pyx_L1_error)
+
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_t_3);

-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_Raise(__pyx_t_3, 0, 0, 0);

-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __PYX_ERR(10, 233, __pyx_L1_error)
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":231
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __PYX_ERR(10, 276, __pyx_L1_error)
+
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
  *                 raise ValueError(u"ndarray is not C contiguous")
  *
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)             # <<<<<<<<<<<<<<
- *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  */

-#line 231 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 274 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":235
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
  *                 raise ValueError(u"ndarray is not Fortran contiguous")
  *
  *             info.buf = PyArray_DATA(self)             # <<<<<<<<<<<<<<
@@ -80228,10 +77169,10 @@
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  */

-#line 235 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 278 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->buf = PyArray_DATA(__pyx_v_self);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":236
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
  *
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim             # <<<<<<<<<<<<<<
@@ -80239,10 +77180,10 @@
  *                 # Allocate new buffer for strides and shape info.
  */

-#line 236 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 279 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->ndim = __pyx_v_ndim;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -80250,13 +77191,13 @@
  *                 # This is allocated as one block, strides first.
  */

-#line 237 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 280 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);

-#line 237 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 280 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_1) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":240
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
  *                 # Allocate new buffer for strides and shape info.
  *                 # This is allocated as one block, strides first.
  *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)             # <<<<<<<<<<<<<<
@@ -80264,10 +77205,10 @@
  *                 for i in range(ndim):
  */

-#line 240 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 283 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_info->strides = ((Py_ssize_t *)PyObject_Malloc((((sizeof(Py_ssize_t)) * 2) * ((size_t)__pyx_v_ndim))));

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":241
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
  *                 # This is allocated as one block, strides first.
  *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
  *                 info.shape = info.strides + ndim             # <<<<<<<<<<<<<<
@@ -80275,10 +77216,10 @@
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  */

-#line 241 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 284 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_info->shape = (__pyx_v_info->strides + __pyx_v_ndim);

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":242
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":285
  *                 info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):             # <<<<<<<<<<<<<<
@@ -80286,19 +77227,19 @@
  *                     info.shape[i] = PyArray_DIMS(self)[i]
  */

-#line 242 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 285 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_4 = __pyx_v_ndim;

-#line 242 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 285 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_5 = __pyx_t_4;

-#line 242 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 285 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {

-#line 242 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 285 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_i = __pyx_t_6;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":243
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
  *                 info.shape = info.strides + ndim
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]             # <<<<<<<<<<<<<<
@@ -80306,10 +77247,10 @@
  *             else:
  */

-#line 243 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 286 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       (__pyx_v_info->strides[__pyx_v_i]) = (PyArray_STRIDES(__pyx_v_self)[__pyx_v_i]);

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":244
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":287
  *                 for i in range(ndim):
  *                     info.strides[i] = PyArray_STRIDES(self)[i]
  *                     info.shape[i] = PyArray_DIMS(self)[i]             # <<<<<<<<<<<<<<
@@ -80317,13 +77258,13 @@
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  */

-#line 244 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 287 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       (__pyx_v_info->shape[__pyx_v_i]) = (PyArray_DIMS(__pyx_v_self)[__pyx_v_i]);

-#line 244 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 287 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":237
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
  *             info.buf = PyArray_DATA(self)
  *             info.ndim = ndim
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -80331,13 +77272,13 @@
  *                 # This is allocated as one block, strides first.
  */

-#line 237 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 280 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L9;

-#line 237 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 280 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":246
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
  *                     info.shape[i] = PyArray_DIMS(self)[i]
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)             # <<<<<<<<<<<<<<
@@ -80345,13 +77286,13 @@
  *             info.suboffsets = NULL
  */

-#line 246 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 289 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /*else*/ {

-#line 246 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 289 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_info->strides = ((Py_ssize_t *)PyArray_STRIDES(__pyx_v_self));

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":247
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":290
  *             else:
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)             # <<<<<<<<<<<<<<
@@ -80359,16 +77300,16 @@
  *             info.itemsize = PyArray_ITEMSIZE(self)
  */

-#line 247 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 290 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_info->shape = ((Py_ssize_t *)PyArray_DIMS(__pyx_v_self));

-#line 247 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 290 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-#line 247 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 290 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L9:;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":248
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":291
  *                 info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL             # <<<<<<<<<<<<<<
@@ -80376,10 +77317,10 @@
  *             info.readonly = not PyArray_ISWRITEABLE(self)
  */

-#line 248 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 291 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->suboffsets = NULL;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":249
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
  *                 info.shape = <Py_ssize_t*>PyArray_DIMS(self)
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)             # <<<<<<<<<<<<<<
@@ -80387,10 +77328,10 @@
  *
  */

-#line 249 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 292 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->itemsize = PyArray_ITEMSIZE(__pyx_v_self);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":250
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":293
  *             info.suboffsets = NULL
  *             info.itemsize = PyArray_ITEMSIZE(self)
  *             info.readonly = not PyArray_ISWRITEABLE(self)             # <<<<<<<<<<<<<<
@@ -80398,41 +77339,44 @@
  *             cdef int t
  */

-#line 250 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 293 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->readonly = (!(PyArray_ISWRITEABLE(__pyx_v_self) != 0));

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":253
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":296
  *
  *             cdef int t
  *             cdef char* f = NULL             # <<<<<<<<<<<<<<
- *             cdef dtype descr = self.descr
+ *             cdef dtype descr = <dtype>PyArray_DESCR(self)
  *             cdef int offset
  */

-#line 253 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 296 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_f = NULL;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":254
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":297
  *             cdef int t
  *             cdef char* f = NULL
- *             cdef dtype descr = self.descr             # <<<<<<<<<<<<<<
+ *             cdef dtype descr = <dtype>PyArray_DESCR(self)             # <<<<<<<<<<<<<<
  *             cdef int offset
  *
  */

-#line 254 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_3 = ((PyObject *)__pyx_v_self->descr);
-
-#line 254 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 297 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_7 = PyArray_DESCR(__pyx_v_self);
+
+#line 297 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_3 = ((PyObject *)__pyx_t_7);
+
+#line 297 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_INCREF(__pyx_t_3);

-#line 254 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 297 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_descr = ((PyArray_Descr *)__pyx_t_3);

-#line 254 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 297 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_3 = 0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":257
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":300
  *             cdef int offset
  *
  *             info.obj = self             # <<<<<<<<<<<<<<
@@ -80440,22 +77384,22 @@
  *             if not PyDataType_HASFIELDS(descr):
  */

-#line 257 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 300 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_INCREF(((PyObject *)__pyx_v_self));

-#line 257 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 300 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GIVEREF(((PyObject *)__pyx_v_self));

-#line 257 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 300 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GOTREF(__pyx_v_info->obj);

-#line 257 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 300 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_DECREF(__pyx_v_info->obj);

-#line 257 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 300 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_info->obj = ((PyObject *)__pyx_v_self);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":302
  *             info.obj = self
  *
  *             if not PyDataType_HASFIELDS(descr):             # <<<<<<<<<<<<<<
@@ -80463,13 +77407,13 @@
  *                 if ((descr.byteorder == c'>' and little_endian) or
  */

-#line 259 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 302 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = ((!(PyDataType_HASFIELDS(__pyx_v_descr) != 0)) != 0);

-#line 259 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 302 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_1) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":260
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":303
  *
  *             if not PyDataType_HASFIELDS(descr):
  *                 t = descr.type_num             # <<<<<<<<<<<<<<
@@ -80477,13 +77421,13 @@
  *                     (descr.byteorder == c'<' and not little_endian)):
  */

-#line 260 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 303 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_4 = __pyx_v_descr->type_num;

-#line 260 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 303 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_t = __pyx_t_4;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":304
  *             if not PyDataType_HASFIELDS(descr):
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -80491,43 +77435,43 @@
  *                     raise ValueError(u"Non-native byte order not supported")
  */

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_2 = ((__pyx_v_descr->byteorder == '>') != 0);

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (!__pyx_t_2) {

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L15_next_or;

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_2 = (__pyx_v_little_endian != 0);

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (!__pyx_t_2) {

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_1 = __pyx_t_2;

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L14_bool_binop_done;

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L15_next_or:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":262
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":305
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -80535,34 +77479,34 @@
  *                 if   t == NPY_BYTE:        f = "b"
  */

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_2 = ((__pyx_v_descr->byteorder == '<') != 0);

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_2) {

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_1 = __pyx_t_2;

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L14_bool_binop_done;

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_2 = ((!(__pyx_v_little_endian != 0)) != 0);

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_1 = __pyx_t_2;

-#line 262 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 305 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L14_bool_binop_done:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":304
  *             if not PyDataType_HASFIELDS(descr):
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -80570,10 +77514,10 @@
  *                     raise ValueError(u"Non-native byte order not supported")
  */

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (unlikely(__pyx_t_1)) {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":306
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -80581,22 +77525,22 @@
  *                 elif t == NPY_UBYTE:       f = "B"
  */

-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__47, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 263, __pyx_L1_error)
-
-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 306, __pyx_L1_error)
+
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_3, 0, 0, 0);

-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 263, __pyx_L1_error)
-
-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":261
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 306, __pyx_L1_error)
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":304
  *             if not PyDataType_HASFIELDS(descr):
  *                 t = descr.type_num
  *                 if ((descr.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -80604,10 +77548,10 @@
  *                     raise ValueError(u"Non-native byte order not supported")
  */

-#line 261 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 304 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":264
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":307
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"             # <<<<<<<<<<<<<<
@@ -80615,19 +77559,22 @@
  *                 elif t == NPY_SHORT:       f = "h"
  */

-#line 264 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 307 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     switch (__pyx_v_t) {

-#line 264 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 307 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       case NPY_BYTE:

-#line 264 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 307 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"b");

-#line 264 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 307 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":265
+#line 307 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_UBYTE:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":308
  *                     raise ValueError(u"Non-native byte order not supported")
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"             # <<<<<<<<<<<<<<
@@ -80635,16 +77582,16 @@
  *                 elif t == NPY_USHORT:      f = "H"
  */

-#line 265 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_UBYTE:
-
-#line 265 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 308 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"B");

-#line 265 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 308 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":266
+#line 308 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_SHORT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":309
  *                 if   t == NPY_BYTE:        f = "b"
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"             # <<<<<<<<<<<<<<
@@ -80652,16 +77599,16 @@
  *                 elif t == NPY_INT:         f = "i"
  */

-#line 266 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_SHORT:
-
-#line 266 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 309 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"h");

-#line 266 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 309 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":267
+#line 309 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_USHORT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":310
  *                 elif t == NPY_UBYTE:       f = "B"
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"             # <<<<<<<<<<<<<<
@@ -80669,16 +77616,16 @@
  *                 elif t == NPY_UINT:        f = "I"
  */

-#line 267 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_USHORT:
-
-#line 267 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 310 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"H");

-#line 267 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 310 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":268
+#line 310 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_INT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":311
  *                 elif t == NPY_SHORT:       f = "h"
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"             # <<<<<<<<<<<<<<
@@ -80686,16 +77633,16 @@
  *                 elif t == NPY_LONG:        f = "l"
  */

-#line 268 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_INT:
-
-#line 268 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 311 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"i");

-#line 268 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 311 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":269
+#line 311 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_UINT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":312
  *                 elif t == NPY_USHORT:      f = "H"
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"             # <<<<<<<<<<<<<<
@@ -80703,16 +77650,16 @@
  *                 elif t == NPY_ULONG:       f = "L"
  */

-#line 269 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_UINT:
-
-#line 269 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 312 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"I");

-#line 269 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 312 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":270
+#line 312 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_LONG:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":313
  *                 elif t == NPY_INT:         f = "i"
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"             # <<<<<<<<<<<<<<
@@ -80720,16 +77667,16 @@
  *                 elif t == NPY_LONGLONG:    f = "q"
  */

-#line 270 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_LONG:
-
-#line 270 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 313 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"l");

-#line 270 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 313 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":271
+#line 313 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_ULONG:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":314
  *                 elif t == NPY_UINT:        f = "I"
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"             # <<<<<<<<<<<<<<
@@ -80737,16 +77684,16 @@
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  */

-#line 271 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_ULONG:
-
-#line 271 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 314 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"L");

-#line 271 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 314 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
+#line 314 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_LONGLONG:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":315
  *                 elif t == NPY_LONG:        f = "l"
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"             # <<<<<<<<<<<<<<
@@ -80754,16 +77701,16 @@
  *                 elif t == NPY_FLOAT:       f = "f"
  */

-#line 272 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_LONGLONG:
-
-#line 272 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 315 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"q");

-#line 272 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 315 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":273
+#line 315 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_ULONGLONG:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":316
  *                 elif t == NPY_ULONG:       f = "L"
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"             # <<<<<<<<<<<<<<
@@ -80771,16 +77718,16 @@
  *                 elif t == NPY_DOUBLE:      f = "d"
  */

-#line 273 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_ULONGLONG:
-
-#line 273 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 316 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"Q");

-#line 273 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 316 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":274
+#line 316 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_FLOAT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":317
  *                 elif t == NPY_LONGLONG:    f = "q"
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"             # <<<<<<<<<<<<<<
@@ -80788,16 +77735,16 @@
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  */

-#line 274 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_FLOAT:
-
-#line 274 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 317 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"f");

-#line 274 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 317 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":275
+#line 317 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_DOUBLE:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":318
  *                 elif t == NPY_ULONGLONG:   f = "Q"
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"             # <<<<<<<<<<<<<<
@@ -80805,16 +77752,16 @@
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  */

-#line 275 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_DOUBLE:
-
-#line 275 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 318 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"d");

-#line 275 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 318 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
+#line 318 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_LONGDOUBLE:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":319
  *                 elif t == NPY_FLOAT:       f = "f"
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"             # <<<<<<<<<<<<<<
@@ -80822,16 +77769,16 @@
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  */

-#line 276 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_LONGDOUBLE:
-
-#line 276 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 319 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"g");

-#line 276 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 319 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":277
+#line 319 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_CFLOAT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":320
  *                 elif t == NPY_DOUBLE:      f = "d"
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"             # <<<<<<<<<<<<<<
@@ -80839,16 +77786,16 @@
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
  */

-#line 277 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_CFLOAT:
-
-#line 277 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 320 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"Zf");

-#line 277 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 320 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":278
+#line 320 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_CDOUBLE:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":321
  *                 elif t == NPY_LONGDOUBLE:  f = "g"
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"             # <<<<<<<<<<<<<<
@@ -80856,16 +77803,16 @@
  *                 elif t == NPY_OBJECT:      f = "O"
  */

-#line 278 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_CDOUBLE:
-
-#line 278 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 321 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"Zd");

-#line 278 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 321 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":279
+#line 321 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_CLONGDOUBLE:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":322
  *                 elif t == NPY_CFLOAT:      f = "Zf"
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"             # <<<<<<<<<<<<<<
@@ -80873,16 +77820,16 @@
  *                 else:
  */

-#line 279 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_CLONGDOUBLE:
-
-#line 279 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 322 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"Zg");

-#line 279 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 322 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":280
+#line 322 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      case NPY_OBJECT:
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":323
  *                 elif t == NPY_CDOUBLE:     f = "Zd"
  *                 elif t == NPY_CLONGDOUBLE: f = "Zg"
  *                 elif t == NPY_OBJECT:      f = "O"             # <<<<<<<<<<<<<<
@@ -80890,19 +77837,16 @@
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  */

-#line 280 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      case NPY_OBJECT:
-
-#line 280 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 323 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = ((char *)"O");

-#line 280 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 323 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-#line 280 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 323 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       default:

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":282
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":325
  *                 elif t == NPY_OBJECT:      f = "O"
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -80910,46 +77854,46 @@
  *                 return
  */

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 282, __pyx_L1_error)
-
-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 325, __pyx_L1_error)
+
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_7 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_7)) __PYX_ERR(10, 282, __pyx_L1_error)
-
-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __Pyx_GOTREF(__pyx_t_7);
-
-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_8 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 325, __pyx_L1_error)
+
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __Pyx_GOTREF(__pyx_t_8);
+
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 282, __pyx_L1_error)
-
-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_8); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 325, __pyx_L1_error)
+
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
-
-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_3, 0, 0, 0);

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 282, __pyx_L1_error)
-
-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 325, __pyx_L1_error)
+
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       break;

-#line 282 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 325 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":283
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":326
  *                 else:
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f             # <<<<<<<<<<<<<<
@@ -80957,10 +77901,10 @@
  *             else:
  */

-#line 283 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 326 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_info->format = __pyx_v_f;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":284
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":327
  *                     raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *                 info.format = f
  *                 return             # <<<<<<<<<<<<<<
@@ -80968,13 +77912,13 @@
  *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
  */

-#line 284 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 327 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_r = 0;

-#line 284 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 327 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L0;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":259
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":302
  *             info.obj = self
  *
  *             if not PyDataType_HASFIELDS(descr):             # <<<<<<<<<<<<<<
@@ -80982,10 +77926,10 @@
  *                 if ((descr.byteorder == c'>' and little_endian) or
  */

-#line 259 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 302 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":286
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":329
  *                 return
  *             else:
  *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)             # <<<<<<<<<<<<<<
@@ -80993,13 +77937,13 @@
  *                 offset = 0
  */

-#line 286 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 329 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /*else*/ {

-#line 286 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 329 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_info->format = ((char *)PyObject_Malloc(0xFF));

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":287
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":330
  *             else:
  *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
  *                 info.format[0] = c'^' # Native data types, manual alignment             # <<<<<<<<<<<<<<
@@ -81007,10 +77951,10 @@
  *                 f = _util_dtypestring(descr, info.format + 1,
  */

-#line 287 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 330 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     (__pyx_v_info->format[0]) = '^';

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":288
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":331
  *                 info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
  *                 info.format[0] = c'^' # Native data types, manual alignment
  *                 offset = 0             # <<<<<<<<<<<<<<
@@ -81018,10 +77962,10 @@
  *                                       info.format + _buffer_format_string_len,
  */

-#line 288 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 331 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_v_offset = 0;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":289
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":332
  *                 info.format[0] = c'^' # Native data types, manual alignment
  *                 offset = 0
  *                 f = _util_dtypestring(descr, info.format + 1,             # <<<<<<<<<<<<<<
@@ -81029,13 +77973,13 @@
  *                                       &offset)
  */

-#line 289 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_8 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_8 == ((char *)NULL))) __PYX_ERR(10, 289, __pyx_L1_error)
-
-#line 289 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_v_f = __pyx_t_8;
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":292
+#line 332 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_descr, (__pyx_v_info->format + 1), (__pyx_v_info->format + 0xFF), (&__pyx_v_offset)); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(10, 332, __pyx_L1_error)
+
+#line 332 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_v_f = __pyx_t_9;
+
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":335
  *                                       info.format + _buffer_format_string_len,
  *                                       &offset)
  *                 f[0] = c'\0' # Terminate format string             # <<<<<<<<<<<<<<
@@ -81043,13 +77987,13 @@
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  */

-#line 292 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 335 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     (__pyx_v_f[0]) = '\x00';

-#line 292 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 335 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":215
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":258
  *         # experimental exception made for __getbuffer__ and __releasebuffer__
  *         # -- the details of this may change.
  *         def __getbuffer__(ndarray self, Py_buffer* info, int flags):             # <<<<<<<<<<<<<<
@@ -81057,79 +78001,79 @@
  *             # requirements, and does not yet fulfill the PEP.
  */

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_3);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_XDECREF(__pyx_t_7);
-
-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_XDECREF(__pyx_t_8);
+
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.ndarray.__getbuffer__", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = -1;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_v_info->obj != NULL) {

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_v_info->obj);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L2;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_v_info->obj == Py_None) {

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_v_info->obj);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_DECREF(__pyx_v_info->obj); __pyx_v_info->obj = 0;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L2:;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF((PyObject *)__pyx_v_descr);

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 215 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 258 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":337
  *                 f[0] = c'\0' # Terminate format string
  *
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -81137,55 +78081,55 @@
  *                 PyObject_Free(info.format)
  */

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 /* Python wrapper */

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info); /*proto*/

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_UNUSED void __pyx_pw_5numpy_7ndarray_3__releasebuffer__(PyObject *__pyx_v_self, Py_buffer *__pyx_v_info) {

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("__releasebuffer__ (wrapper)", 0);

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_pf_5numpy_7ndarray_2__releasebuffer__(((PyArrayObject *)__pyx_v_self), ((Py_buffer *)__pyx_v_info));

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static void __pyx_pf_5numpy_7ndarray_2__releasebuffer__(PyArrayObject *__pyx_v_self, Py_buffer *__pyx_v_info) {

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_1;

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("__releasebuffer__", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":295
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":338
  *
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -81193,13 +78137,13 @@
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  */

-#line 295 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 338 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = (PyArray_HASFIELDS(__pyx_v_self) != 0);

-#line 295 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 338 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_1) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":296
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":339
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):
  *                 PyObject_Free(info.format)             # <<<<<<<<<<<<<<
@@ -81207,10 +78151,10 @@
  *                 PyObject_Free(info.strides)
  */

-#line 296 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 339 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     PyObject_Free(__pyx_v_info->format);

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":295
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":338
  *
  *         def __releasebuffer__(ndarray self, Py_buffer* info):
  *             if PyArray_HASFIELDS(self):             # <<<<<<<<<<<<<<
@@ -81218,10 +78162,10 @@
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  */

-#line 295 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 338 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":297
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":340
  *             if PyArray_HASFIELDS(self):
  *                 PyObject_Free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -81229,13 +78173,13 @@
  *                 # info.shape was stored after info.strides in the same block
  */

-#line 297 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 340 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = (((sizeof(npy_intp)) != (sizeof(Py_ssize_t))) != 0);

-#line 297 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 340 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_1) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":298
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":341
  *                 PyObject_Free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):
  *                 PyObject_Free(info.strides)             # <<<<<<<<<<<<<<
@@ -81243,10 +78187,10 @@
  *
  */

-#line 298 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 341 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     PyObject_Free(__pyx_v_info->strides);

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":297
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":340
  *             if PyArray_HASFIELDS(self):
  *                 PyObject_Free(info.format)
  *             if sizeof(npy_intp) != sizeof(Py_ssize_t):             # <<<<<<<<<<<<<<
@@ -81254,10 +78198,10 @@
  *                 # info.shape was stored after info.strides in the same block
  */

-#line 297 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 340 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":294
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":337
  *                 f[0] = c'\0' # Terminate format string
  *
  *         def __releasebuffer__(ndarray self, Py_buffer* info):             # <<<<<<<<<<<<<<
@@ -81265,19 +78209,19 @@
  *                 PyObject_Free(info.format)
  */

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 294 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 337 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":775
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
  * ctypedef npy_cdouble     complex_t
  *
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -81285,25 +78229,25 @@
  *
  */

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew1(PyObject *__pyx_v_a) {

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_r = NULL;

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew1", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":776
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":822
  *
  * cdef inline object PyArray_MultiIterNew1(a):
  *     return PyArray_MultiIterNew(1, <void*>a)             # <<<<<<<<<<<<<<
@@ -81311,25 +78255,25 @@
  * cdef inline object PyArray_MultiIterNew2(a, b):
  */

-#line 776 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 822 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_r);

-#line 776 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 776, __pyx_L1_error)
-
-#line 776 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 822 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_1 = PyArray_MultiIterNew(1, ((void *)__pyx_v_a)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 822, __pyx_L1_error)
+
+#line 822 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GOTREF(__pyx_t_1);

-#line 776 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 822 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = __pyx_t_1;

-#line 776 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 822 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = 0;

-#line 776 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 822 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":775
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":821
  * ctypedef npy_cdouble     complex_t
  *
  * cdef inline object PyArray_MultiIterNew1(a):             # <<<<<<<<<<<<<<
@@ -81337,40 +78281,40 @@
  *
  */

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_1);

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.PyArray_MultiIterNew1", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XGIVEREF(__pyx_r);

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 775 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 821 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
  *     return PyArray_MultiIterNew(1, <void*>a)
  *
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -81378,25 +78322,25 @@
  *
  */

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew2(PyObject *__pyx_v_a, PyObject *__pyx_v_b) {

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_r = NULL;

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew2", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":779
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":825
  *
  * cdef inline object PyArray_MultiIterNew2(a, b):
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)             # <<<<<<<<<<<<<<
@@ -81404,25 +78348,25 @@
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
  */

-#line 779 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 825 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_r);

-#line 779 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 779, __pyx_L1_error)
-
-#line 779 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 825 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_1 = PyArray_MultiIterNew(2, ((void *)__pyx_v_a), ((void *)__pyx_v_b)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 825, __pyx_L1_error)
+
+#line 825 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GOTREF(__pyx_t_1);

-#line 779 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 825 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = __pyx_t_1;

-#line 779 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 825 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = 0;

-#line 779 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 825 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":778
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
  *     return PyArray_MultiIterNew(1, <void*>a)
  *
  * cdef inline object PyArray_MultiIterNew2(a, b):             # <<<<<<<<<<<<<<
@@ -81430,40 +78374,40 @@
  *
  */

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_1);

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.PyArray_MultiIterNew2", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XGIVEREF(__pyx_r);

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 778 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 824 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":781
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  *
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -81471,25 +78415,25 @@
  *
  */

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew3(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c) {

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_r = NULL;

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew3", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":782
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":828
  *
  * cdef inline object PyArray_MultiIterNew3(a, b, c):
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)             # <<<<<<<<<<<<<<
@@ -81497,25 +78441,25 @@
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
  */

-#line 782 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 828 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_r);

-#line 782 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 782, __pyx_L1_error)
-
-#line 782 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 828 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_1 = PyArray_MultiIterNew(3, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 828, __pyx_L1_error)
+
+#line 828 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GOTREF(__pyx_t_1);

-#line 782 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 828 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = __pyx_t_1;

-#line 782 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 828 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = 0;

-#line 782 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 828 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":781
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
  *     return PyArray_MultiIterNew(2, <void*>a, <void*>b)
  *
  * cdef inline object PyArray_MultiIterNew3(a, b, c):             # <<<<<<<<<<<<<<
@@ -81523,40 +78467,40 @@
  *
  */

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_1);

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.PyArray_MultiIterNew3", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XGIVEREF(__pyx_r);

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 781 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 827 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":784
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  *
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -81564,25 +78508,25 @@
  *
  */

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew4(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d) {

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_r = NULL;

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew4", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":785
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
  *
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)             # <<<<<<<<<<<<<<
@@ -81590,25 +78534,25 @@
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
  */

-#line 785 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 831 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_r);

-#line 785 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 785, __pyx_L1_error)
-
-#line 785 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 831 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_1 = PyArray_MultiIterNew(4, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 831, __pyx_L1_error)
+
+#line 831 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GOTREF(__pyx_t_1);

-#line 785 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 831 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = __pyx_t_1;

-#line 785 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 831 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = 0;

-#line 785 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 831 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":784
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":830
  *     return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
  *
  * cdef inline object PyArray_MultiIterNew4(a, b, c, d):             # <<<<<<<<<<<<<<
@@ -81616,40 +78560,40 @@
  *
  */

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_1);

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.PyArray_MultiIterNew4", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XGIVEREF(__pyx_r);

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 784 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 830 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":787
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  *
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -81657,25 +78601,25 @@
  *
  */

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyArray_MultiIterNew5(PyObject *__pyx_v_a, PyObject *__pyx_v_b, PyObject *__pyx_v_c, PyObject *__pyx_v_d, PyObject *__pyx_v_e) {

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_r = NULL;

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("PyArray_MultiIterNew5", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":788
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
  *
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)             # <<<<<<<<<<<<<<
@@ -81683,25 +78627,25 @@
  * cdef inline tuple PyDataType_SHAPE(dtype d):
  */

-#line 788 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 834 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_r);

-#line 788 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 788, __pyx_L1_error)
-
-#line 788 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 834 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_1 = PyArray_MultiIterNew(5, ((void *)__pyx_v_a), ((void *)__pyx_v_b), ((void *)__pyx_v_c), ((void *)__pyx_v_d), ((void *)__pyx_v_e)); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 834, __pyx_L1_error)
+
+#line 834 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_GOTREF(__pyx_t_1);

-#line 788 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 834 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = __pyx_t_1;

-#line 788 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 834 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = 0;

-#line 788 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 834 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":787
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
  *     return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
  *
  * cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):             # <<<<<<<<<<<<<<
@@ -81709,40 +78653,40 @@
  *
  */

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_1);

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.PyArray_MultiIterNew5", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XGIVEREF(__pyx_r);

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 787 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 833 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  *
  * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
@@ -81750,25 +78694,25 @@
  *         return <tuple>d.subarray.shape
  */

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE PyObject *__pyx_f_5numpy_PyDataType_SHAPE(PyArray_Descr *__pyx_v_d) {

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_r = NULL;

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_1;

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("PyDataType_SHAPE", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
  *
  * cdef inline tuple PyDataType_SHAPE(dtype d):
  *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
@@ -81776,13 +78720,13 @@
  *     else:
  */

-#line 791 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 837 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = (PyDataType_HASSUBARRAY(__pyx_v_d) != 0);

-#line 791 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 837 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (__pyx_t_1) {

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":792
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
  * cdef inline tuple PyDataType_SHAPE(dtype d):
  *     if PyDataType_HASSUBARRAY(d):
  *         return <tuple>d.subarray.shape             # <<<<<<<<<<<<<<
@@ -81790,19 +78734,19 @@
  *         return ()
  */

-#line 792 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 838 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_r);

-#line 792 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 838 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));

-#line 792 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 838 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);

-#line 792 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 838 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L0;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":791
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
  *
  * cdef inline tuple PyDataType_SHAPE(dtype d):
  *     if PyDataType_HASSUBARRAY(d):             # <<<<<<<<<<<<<<
@@ -81810,10 +78754,10 @@
  *     else:
  */

-#line 791 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 837 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":794
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
  *         return <tuple>d.subarray.shape
  *     else:
  *         return ()             # <<<<<<<<<<<<<<
@@ -81821,25 +78765,25 @@
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
  */

-#line 794 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 840 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /*else*/ {

-#line 794 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 840 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_r);

-#line 794 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 840 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_INCREF(__pyx_empty_tuple);

-#line 794 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 840 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_r = __pyx_empty_tuple;

-#line 794 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 840 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L0;

-#line 794 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 840 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":790
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":836
  *     return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
  *
  * cdef inline tuple PyDataType_SHAPE(dtype d):             # <<<<<<<<<<<<<<
@@ -81847,28 +78791,28 @@
  *         return <tuple>d.subarray.shape
  */

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XGIVEREF(__pyx_r);

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 790 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 836 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
  *         return ()
  *
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -81876,70 +78820,70 @@
  *     # string. The new location in the format string is returned.
  */

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *__pyx_v_descr, char *__pyx_v_f, char *__pyx_v_end, int *__pyx_v_offset) {
   PyArray_Descr *__pyx_v_child = 0
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_endian_detector
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   int __pyx_v_little_endian
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   PyObject *__pyx_v_fields = 0
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   PyObject *__pyx_v_childname = NULL
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   PyObject *__pyx_v_new_offset = NULL
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;
   PyObject *__pyx_v_t = NULL
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   char *__pyx_r;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   Py_ssize_t __pyx_t_2;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_3 = NULL;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_4 = NULL;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_5;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_6;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_7;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   long __pyx_t_8;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   char *__pyx_t_9;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("_util_dtypestring", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":801
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":847
  *
  *     cdef dtype child
  *     cdef int endian_detector = 1             # <<<<<<<<<<<<<<
@@ -81947,10 +78891,10 @@
  *     cdef tuple fields
  */

-#line 801 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 847 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_endian_detector = 1;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":802
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":848
  *     cdef dtype child
  *     cdef int endian_detector = 1
  *     cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)             # <<<<<<<<<<<<<<
@@ -81958,10 +78902,10 @@
  *
  */

-#line 802 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 848 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_v_little_endian = ((((char *)(&__pyx_v_endian_detector))[0]) != 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":805
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":851
  *     cdef tuple fields
  *
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
@@ -81969,52 +78913,52 @@
  *         child, new_offset = fields
  */

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   if (unlikely(__pyx_v_descr->names == Py_None)) {

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __PYX_ERR(10, 805, __pyx_L1_error)
-
-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __PYX_ERR(10, 851, __pyx_L1_error)
+
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_t_1 = __pyx_v_descr->names; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   for (;;) {

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(10, 805, __pyx_L1_error)
-
-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(10, 851, __pyx_L1_error)
+
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     #else

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 805, __pyx_L1_error)
-
-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 851, __pyx_L1_error)
+
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_t_3);

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     #endif

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF_SET(__pyx_v_childname, __pyx_t_3);

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_3 = 0;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":806
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":852
  *
  *     for childname in descr.names:
  *         fields = descr.fields[childname]             # <<<<<<<<<<<<<<
@@ -82022,34 +78966,34 @@
  *
  */

-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (unlikely(__pyx_v_descr->fields == Py_None)) {

-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");

-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 806, __pyx_L1_error)
-
-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 852, __pyx_L1_error)
+
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 806, __pyx_L1_error)
-
-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_descr->fields, __pyx_v_childname); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 852, __pyx_L1_error)
+
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_t_3);

-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(10, 806, __pyx_L1_error)
-
-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    if (!(likely(PyTuple_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "tuple", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(10, 852, __pyx_L1_error)
+
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF_SET(__pyx_v_fields, ((PyObject*)__pyx_t_3));

-#line 806 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 852 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_3 = 0;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":807
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":853
  *     for childname in descr.names:
  *         fields = descr.fields[childname]
  *         child, new_offset = fields             # <<<<<<<<<<<<<<
@@ -82057,88 +79001,88 @@
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  */

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (likely(__pyx_v_fields != Py_None)) {

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       PyObject* sequence = __pyx_v_fields;

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (unlikely(size != 2)) {

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         if (size > 2) __Pyx_RaiseTooManyValuesError(2);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-        __PYX_ERR(10, 807, __pyx_L1_error)
-
-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+        __PYX_ERR(10, 853, __pyx_L1_error)
+
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_3 = PyTuple_GET_ITEM(sequence, 0);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_4 = PyTuple_GET_ITEM(sequence, 1);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_INCREF(__pyx_t_3);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_INCREF(__pyx_t_4);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       #else

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 807, __pyx_L1_error)
-
-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 853, __pyx_L1_error)
+
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 807, __pyx_L1_error)
-
-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 853, __pyx_L1_error)
+
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       #endif

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(10, 807, __pyx_L1_error)
-
-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(10, 853, __pyx_L1_error)
+
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(10, 807, __pyx_L1_error)
-
-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    if (!(likely(((__pyx_t_3) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_dtype))))) __PYX_ERR(10, 853, __pyx_L1_error)
+
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF_SET(__pyx_v_child, ((PyArray_Descr *)__pyx_t_3));

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_3 = 0;

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF_SET(__pyx_v_new_offset, __pyx_t_4);

-#line 807 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 853 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_4 = 0;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":809
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":855
  *         child, new_offset = fields
  *
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -82146,34 +79090,34 @@
  *
  */

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 809, __pyx_L1_error)
-
-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_4 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 855, __pyx_L1_error)
+
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_t_4);

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 809, __pyx_L1_error)
-
-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_3 = PyNumber_Subtract(__pyx_v_new_offset, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 855, __pyx_L1_error)
+
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_GOTREF(__pyx_t_3);

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(10, 809, __pyx_L1_error)
-
-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_t_5 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_5 == (int)-1) && PyErr_Occurred())) __PYX_ERR(10, 855, __pyx_L1_error)
+
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_6 = ((((__pyx_v_end - __pyx_v_f) - ((int)__pyx_t_5)) < 15) != 0);

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (unlikely(__pyx_t_6)) {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":810
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":856
  *
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -82181,22 +79125,22 @@
  *         if ((child.byteorder == c'>' and little_endian) or
  */

-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__48, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 810, __pyx_L1_error)
-
-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__37, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 856, __pyx_L1_error)
+
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_3, 0, 0, 0);

-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 810, __pyx_L1_error)
-
-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":809
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 856, __pyx_L1_error)
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":855
  *         child, new_offset = fields
  *
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:             # <<<<<<<<<<<<<<
@@ -82204,10 +79148,10 @@
  *
  */

-#line 809 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 855 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":812
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":858
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  *
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -82215,43 +79159,43 @@
  *             raise ValueError(u"Non-native byte order not supported")
  */

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_7 = ((__pyx_v_child->byteorder == '>') != 0);

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (!__pyx_t_7) {

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L8_next_or;

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_7 = (__pyx_v_little_endian != 0);

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (!__pyx_t_7) {

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_6 = __pyx_t_7;

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L7_bool_binop_done;

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L8_next_or:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":813
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":859
  *
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):             # <<<<<<<<<<<<<<
@@ -82259,34 +79203,34 @@
  *             # One could encode it in the format string and have Cython
  */

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_7 = ((__pyx_v_child->byteorder == '<') != 0);

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_7) {

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     } else {

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_6 = __pyx_t_7;

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L7_bool_binop_done;

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_7 = ((!(__pyx_v_little_endian != 0)) != 0);

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_6 = __pyx_t_7;

-#line 813 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 859 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L7_bool_binop_done:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":812
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":858
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  *
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -82294,10 +79238,10 @@
  *             raise ValueError(u"Non-native byte order not supported")
  */

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (unlikely(__pyx_t_6)) {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":860
  *         if ((child.byteorder == c'>' and little_endian) or
  *             (child.byteorder == c'<' and not little_endian)):
  *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -82305,22 +79249,22 @@
  *             # complain instead, BUT: < and > in format strings also imply
  */

-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__49, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 814, __pyx_L1_error)
-
-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 860 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__36, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 860, __pyx_L1_error)
+
+#line 860 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 860 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_3, 0, 0, 0);

-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 860 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 814, __pyx_L1_error)
-
-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":812
+#line 860 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 860, __pyx_L1_error)
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":858
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
  *
  *         if ((child.byteorder == c'>' and little_endian) or             # <<<<<<<<<<<<<<
@@ -82328,10 +79272,10 @@
  *             raise ValueError(u"Non-native byte order not supported")
  */

-#line 812 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 858 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":824
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":870
  *
  *         # Output padding bytes
  *         while offset[0] < new_offset:             # <<<<<<<<<<<<<<
@@ -82339,31 +79283,31 @@
  *             f += 1
  */

-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     while (1) {

-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 824, __pyx_L1_error)
-
-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_int((__pyx_v_offset[0])); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 870, __pyx_L1_error)
+
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 824, __pyx_L1_error)
-
-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_new_offset, Py_LT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 870, __pyx_L1_error)
+
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 824, __pyx_L1_error)
-
-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 870, __pyx_L1_error)
+
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 824 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 870 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (!__pyx_t_6) break;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":825
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":871
  *         # Output padding bytes
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte             # <<<<<<<<<<<<<<
@@ -82371,10 +79315,10 @@
  *             offset[0] += 1
  */

-#line 825 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 871 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       (__pyx_v_f[0]) = 0x78;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":826
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":872
  *         while offset[0] < new_offset:
  *             f[0] = 120 # "x"; pad byte
  *             f += 1             # <<<<<<<<<<<<<<
@@ -82382,10 +79326,10 @@
  *
  */

-#line 826 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 872 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = (__pyx_v_f + 1);

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":827
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":873
  *             f[0] = 120 # "x"; pad byte
  *             f += 1
  *             offset[0] += 1             # <<<<<<<<<<<<<<
@@ -82393,16 +79337,16 @@
  *         offset[0] += child.itemsize
  */

-#line 827 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 873 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_8 = 0;

-#line 827 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 873 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + 1);

-#line 827 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 873 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":829
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":875
  *             offset[0] += 1
  *
  *         offset[0] += child.itemsize             # <<<<<<<<<<<<<<
@@ -82410,13 +79354,13 @@
  *         if not PyDataType_HASFIELDS(child):
  */

-#line 829 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 875 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_8 = 0;

-#line 829 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 875 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     (__pyx_v_offset[__pyx_t_8]) = ((__pyx_v_offset[__pyx_t_8]) + __pyx_v_child->elsize);

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":877
  *         offset[0] += child.itemsize
  *
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -82424,13 +79368,13 @@
  *             if end - f < 5:
  */

-#line 831 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 877 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_6 = ((!(PyDataType_HASFIELDS(__pyx_v_child) != 0)) != 0);

-#line 831 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 877 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_6) {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":832
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":878
  *
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num             # <<<<<<<<<<<<<<
@@ -82438,19 +79382,19 @@
  *                 raise RuntimeError(u"Format string allocated too short.")
  */

-#line 832 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 832, __pyx_L1_error)
-
-#line 832 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 878 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_child->type_num); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 878, __pyx_L1_error)
+
+#line 878 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 832 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 878 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_XDECREF_SET(__pyx_v_t, __pyx_t_4);

-#line 832 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 878 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_4 = 0;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":879
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -82458,13 +79402,13 @@
  *
  */

-#line 833 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 879 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_t_6 = (((__pyx_v_end - __pyx_v_f) < 5) != 0);

-#line 833 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 879 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (unlikely(__pyx_t_6)) {

-        /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
+        /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":880
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -82472,22 +79416,22 @@
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  */

-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__50, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 834, __pyx_L1_error)
-
-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+        __pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_RuntimeError, __pyx_tuple__38, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 880, __pyx_L1_error)
+
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_GOTREF(__pyx_t_4);

-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_Raise(__pyx_t_4, 0, 0, 0);

-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-        __PYX_ERR(10, 834, __pyx_L1_error)
-
-        /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":833
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+        __PYX_ERR(10, 880, __pyx_L1_error)
+
+        /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":879
  *         if not PyDataType_HASFIELDS(child):
  *             t = child.type_num
  *             if end - f < 5:             # <<<<<<<<<<<<<<
@@ -82495,10 +79439,10 @@
  *
  */

-#line 833 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 879 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":837
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":883
  *
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"             # <<<<<<<<<<<<<<
@@ -82506,37 +79450,37 @@
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  */

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 837, __pyx_L1_error)
-
-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_BYTE); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 883, __pyx_L1_error)
+
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 837, __pyx_L1_error)
-
-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 883, __pyx_L1_error)
+
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 837, __pyx_L1_error)
-
-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 883, __pyx_L1_error)
+
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 98;

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 837 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 883 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":838
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":884
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"             # <<<<<<<<<<<<<<
@@ -82544,37 +79488,37 @@
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  */

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 838, __pyx_L1_error)
-
-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UBYTE); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 884, __pyx_L1_error)
+
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 838, __pyx_L1_error)
-
-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 884, __pyx_L1_error)
+
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 838, __pyx_L1_error)
-
-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 884, __pyx_L1_error)
+
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 66;

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 838 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 884 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":839
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":885
  *             if   t == NPY_BYTE:        f[0] =  98 #"b"
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"             # <<<<<<<<<<<<<<
@@ -82582,37 +79526,37 @@
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  */

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 839, __pyx_L1_error)
-
-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_SHORT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 885, __pyx_L1_error)
+
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 839, __pyx_L1_error)
-
-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 885, __pyx_L1_error)
+
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 839, __pyx_L1_error)
-
-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 885, __pyx_L1_error)
+
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x68;

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 839 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 885 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":840
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":886
  *             elif t == NPY_UBYTE:       f[0] =  66 #"B"
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"             # <<<<<<<<<<<<<<
@@ -82620,37 +79564,37 @@
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  */

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 840, __pyx_L1_error)
-
-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_USHORT); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 886, __pyx_L1_error)
+
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 840, __pyx_L1_error)
-
-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 886, __pyx_L1_error)
+
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 840, __pyx_L1_error)
-
-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 886, __pyx_L1_error)
+
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 72;

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 840 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 886 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":841
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":887
  *             elif t == NPY_SHORT:       f[0] = 104 #"h"
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"             # <<<<<<<<<<<<<<
@@ -82658,37 +79602,37 @@
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  */

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 841, __pyx_L1_error)
-
-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_INT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 887, __pyx_L1_error)
+
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 841, __pyx_L1_error)
-
-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 887, __pyx_L1_error)
+
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 841, __pyx_L1_error)
-
-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 887, __pyx_L1_error)
+
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x69;

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 841 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 887 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":888
  *             elif t == NPY_USHORT:      f[0] =  72 #"H"
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"             # <<<<<<<<<<<<<<
@@ -82696,37 +79640,37 @@
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  */

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 842, __pyx_L1_error)
-
-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_UINT); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 888, __pyx_L1_error)
+
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 842, __pyx_L1_error)
-
-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 888, __pyx_L1_error)
+
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 842, __pyx_L1_error)
-
-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 888, __pyx_L1_error)
+
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 73;

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 842 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 888 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":843
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":889
  *             elif t == NPY_INT:         f[0] = 105 #"i"
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"             # <<<<<<<<<<<<<<
@@ -82734,37 +79678,37 @@
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  */

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 843, __pyx_L1_error)
-
-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 889, __pyx_L1_error)
+
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 843, __pyx_L1_error)
-
-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 889, __pyx_L1_error)
+
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 843, __pyx_L1_error)
-
-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 889, __pyx_L1_error)
+
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x6C;

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 843 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 889 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":844
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":890
  *             elif t == NPY_UINT:        f[0] =  73 #"I"
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"             # <<<<<<<<<<<<<<
@@ -82772,37 +79716,37 @@
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  */

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 844, __pyx_L1_error)
-
-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 890, __pyx_L1_error)
+
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 844, __pyx_L1_error)
-
-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 890, __pyx_L1_error)
+
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 844, __pyx_L1_error)
-
-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 890, __pyx_L1_error)
+
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 76;

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 844 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 890 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":845
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":891
  *             elif t == NPY_LONG:        f[0] = 108 #"l"
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"             # <<<<<<<<<<<<<<
@@ -82810,37 +79754,37 @@
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  */

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 845, __pyx_L1_error)
-
-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGLONG); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 891, __pyx_L1_error)
+
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 845, __pyx_L1_error)
-
-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 891, __pyx_L1_error)
+
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 845, __pyx_L1_error)
-
-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 891, __pyx_L1_error)
+
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x71;

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 845 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 891 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":846
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":892
  *             elif t == NPY_ULONG:       f[0] = 76  #"L"
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"             # <<<<<<<<<<<<<<
@@ -82848,37 +79792,37 @@
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  */

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 846, __pyx_L1_error)
-
-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_ULONGLONG); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 892, __pyx_L1_error)
+
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 846, __pyx_L1_error)
-
-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 892, __pyx_L1_error)
+
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 846, __pyx_L1_error)
-
-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 892, __pyx_L1_error)
+
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 81;

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 846 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 892 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":847
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":893
  *             elif t == NPY_LONGLONG:    f[0] = 113 #"q"
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"             # <<<<<<<<<<<<<<
@@ -82886,37 +79830,37 @@
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  */

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 847, __pyx_L1_error)
-
-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_FLOAT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 893, __pyx_L1_error)
+
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 847, __pyx_L1_error)
-
-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 893, __pyx_L1_error)
+
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 847, __pyx_L1_error)
-
-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 893, __pyx_L1_error)
+
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x66;

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 847 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 893 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":848
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":894
  *             elif t == NPY_ULONGLONG:   f[0] = 81  #"Q"
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"             # <<<<<<<<<<<<<<
@@ -82924,37 +79868,37 @@
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  */

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 848, __pyx_L1_error)
-
-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_DOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 894, __pyx_L1_error)
+
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 848, __pyx_L1_error)
-
-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 894, __pyx_L1_error)
+
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 848, __pyx_L1_error)
-
-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 894, __pyx_L1_error)
+
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x64;

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 848 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 894 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":849
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":895
  *             elif t == NPY_FLOAT:       f[0] = 102 #"f"
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"             # <<<<<<<<<<<<<<
@@ -82962,37 +79906,37 @@
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  */

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 849, __pyx_L1_error)
-
-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_LONGDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 895, __pyx_L1_error)
+
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 849, __pyx_L1_error)
-
-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 895, __pyx_L1_error)
+
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 849, __pyx_L1_error)
-
-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 895, __pyx_L1_error)
+
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 0x67;

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 849 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 895 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":850
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":896
  *             elif t == NPY_DOUBLE:      f[0] = 100 #"d"
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf             # <<<<<<<<<<<<<<
@@ -83000,43 +79944,43 @@
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  */

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 850, __pyx_L1_error)
-
-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CFLOAT); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 896, __pyx_L1_error)
+
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 850, __pyx_L1_error)
-
-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 896, __pyx_L1_error)
+
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 850, __pyx_L1_error)
-
-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 896, __pyx_L1_error)
+
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 90;

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[1]) = 0x66;

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __pyx_v_f = (__pyx_v_f + 1);

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 850 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 896 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":851
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":897
  *             elif t == NPY_LONGDOUBLE:  f[0] = 103 #"g"
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd             # <<<<<<<<<<<<<<
@@ -83044,43 +79988,43 @@
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  */

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 851, __pyx_L1_error)
-
-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CDOUBLE); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 897, __pyx_L1_error)
+
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 851, __pyx_L1_error)
-
-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 897, __pyx_L1_error)
+
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 851, __pyx_L1_error)
-
-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 897, __pyx_L1_error)
+
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 90;

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[1]) = 0x64;

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __pyx_v_f = (__pyx_v_f + 1);

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 851 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 897 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":852
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":898
  *             elif t == NPY_CFLOAT:      f[0] = 90; f[1] = 102; f += 1 # Zf
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg             # <<<<<<<<<<<<<<
@@ -83088,43 +80032,43 @@
  *             else:
  */

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 852, __pyx_L1_error)
-
-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_CLONGDOUBLE); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 898, __pyx_L1_error)
+
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_3);

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 852, __pyx_L1_error)
-
-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = PyObject_RichCompare(__pyx_v_t, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 898, __pyx_L1_error)
+
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 852, __pyx_L1_error)
-
-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 898, __pyx_L1_error)
+
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (__pyx_t_6) {

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 90;

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[1]) = 0x67;

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __pyx_v_f = (__pyx_v_f + 1);

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 852 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 898 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":853
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":899
  *             elif t == NPY_CDOUBLE:     f[0] = 90; f[1] = 100; f += 1 # Zd
  *             elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"             # <<<<<<<<<<<<<<
@@ -83132,37 +80076,37 @@
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  */

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 853, __pyx_L1_error)
-
-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = __Pyx_PyInt_From_enum__NPY_TYPES(NPY_OBJECT); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 899, __pyx_L1_error)
+
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_4);

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 853, __pyx_L1_error)
-
-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_3 = PyObject_RichCompare(__pyx_v_t, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 899, __pyx_L1_error)
+
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 853, __pyx_L1_error)
-
-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(10, 899, __pyx_L1_error)
+
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       if (likely(__pyx_t_6)) {

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         (__pyx_v_f[0]) = 79;

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         goto __pyx_L15;

-#line 853 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 899 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":855
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":901
  *             elif t == NPY_OBJECT:      f[0] = 79 #"O"
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)             # <<<<<<<<<<<<<<
@@ -83170,40 +80114,40 @@
  *         else:
  */

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       /*else*/ {

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-        __pyx_t_3 = PyUnicode_Format(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 855, __pyx_L1_error)
-
-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+        __pyx_t_3 = __Pyx_PyUnicode_FormatSafe(__pyx_kp_u_unknown_dtype_code_in_numpy_pxd, __pyx_v_t); if (unlikely(!__pyx_t_3)) __PYX_ERR(10, 901, __pyx_L1_error)
+
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_GOTREF(__pyx_t_3);

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 855, __pyx_L1_error)
-
-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+        __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_builtin_ValueError, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(10, 901, __pyx_L1_error)
+
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_GOTREF(__pyx_t_4);

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_Raise(__pyx_t_4, 0, 0, 0);

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-        __PYX_ERR(10, 855, __pyx_L1_error)
-
-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+        __PYX_ERR(10, 901, __pyx_L1_error)
+
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       }

-#line 855 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 901 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_L15:;

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":856
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":902
  *             else:
  *                 raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
  *             f += 1             # <<<<<<<<<<<<<<
@@ -83211,10 +80155,10 @@
  *             # Cython ignores struct boundary information ("T{...}"),
  */

-#line 856 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 902 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = (__pyx_v_f + 1);

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":831
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":877
  *         offset[0] += child.itemsize
  *
  *         if not PyDataType_HASFIELDS(child):             # <<<<<<<<<<<<<<
@@ -83222,13 +80166,13 @@
  *             if end - f < 5:
  */

-#line 831 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 877 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       goto __pyx_L13;

-#line 831 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 877 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":860
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":906
  *             # Cython ignores struct boundary information ("T{...}"),
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)             # <<<<<<<<<<<<<<
@@ -83236,22 +80180,22 @@
  *
  */

-#line 860 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 906 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     /*else*/ {

-#line 860 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(10, 860, __pyx_L1_error)
-
-#line 860 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 906 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_9 = __pyx_f_5numpy__util_dtypestring(__pyx_v_child, __pyx_v_f, __pyx_v_end, __pyx_v_offset); if (unlikely(__pyx_t_9 == ((char *)NULL))) __PYX_ERR(10, 906, __pyx_L1_error)
+
+#line 906 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __pyx_v_f = __pyx_t_9;

-#line 860 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 906 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 860 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 906 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L13:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":805
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":851
  *     cdef tuple fields
  *
  *     for childname in descr.names:             # <<<<<<<<<<<<<<
@@ -83259,13 +80203,13 @@
  *         child, new_offset = fields
  */

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-#line 805 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 851 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":861
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":907
  *             # so don't output it
  *             f = _util_dtypestring(child, f, end, offset)
  *     return f             # <<<<<<<<<<<<<<
@@ -83273,13 +80217,13 @@
  *
  */

-#line 861 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 907 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = __pyx_v_f;

-#line 861 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 907 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":796
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":842
  *         return ()
  *
  * cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:             # <<<<<<<<<<<<<<
@@ -83287,325 +80231,251 @@
  *     # string. The new location in the format string is returned.
  */

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_1);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_3);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_4);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy._util_dtypestring", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = NULL;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF((PyObject *)__pyx_v_child);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_v_fields);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_v_childname);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_v_new_offset);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_v_t);

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 796 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 842 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
- *
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1022
+ *     int _import_umath() except -1
  *
  * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
- *      cdef PyObject* baseptr
- *      if base is None:
- */
-
-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)
+ */
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE void __pyx_f_5numpy_set_array_base(PyArrayObject *__pyx_v_arr, PyObject *__pyx_v_base) {
-  PyObject *__pyx_v_baseptr
-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_RefNannyDeclarations
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_RefNannySetupContext("set_array_base", 0);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1023
+ *
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *     Py_INCREF(base) # important to do this before stealing the reference below!             # <<<<<<<<<<<<<<
+ *     PyArray_SetBaseObject(arr, base)
+ *
+ */
+
+#line 1023 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  Py_INCREF(__pyx_v_base);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1024
+ * cdef inline void set_array_base(ndarray arr, object base):
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)             # <<<<<<<<<<<<<<
+ *
+ * cdef inline object get_array_base(ndarray arr):
+ */
+
+#line 1024 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  (void)(PyArray_SetBaseObject(__pyx_v_arr, __pyx_v_base));
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1022
+ *     int _import_umath() except -1
+ *
+ * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
+ *     Py_INCREF(base) # important to do this before stealing the reference below!
+ *     PyArray_SetBaseObject(arr, base)
+ */
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  /* function exit code */
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_RefNannyFinishContext();
+
+#line 1022 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+}
+
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1026
+ *     PyArray_SetBaseObject(arr, base)
+ *
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ */
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
+  PyObject *__pyx_v_base
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 ;

-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  PyObject *__pyx_r = NULL;
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_1;

-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  int __pyx_t_2;
-
-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_RefNannySetupContext("set_array_base", 0);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
- * cdef inline void set_array_base(ndarray arr, object base):
- *      cdef PyObject* baseptr
- *      if base is None:             # <<<<<<<<<<<<<<
- *          baseptr = NULL
- *      else:
- */
-
-#line 979 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = (__pyx_v_base == Py_None);
-
-#line 979 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_2 = (__pyx_t_1 != 0);
-
-#line 979 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  if (__pyx_t_2) {
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":980
- *      cdef PyObject* baseptr
- *      if base is None:
- *          baseptr = NULL             # <<<<<<<<<<<<<<
- *      else:
- *          Py_INCREF(base) # important to do this before decref below!
- */
-
-#line 980 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_v_baseptr = NULL;
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":979
- * cdef inline void set_array_base(ndarray arr, object base):
- *      cdef PyObject* baseptr
- *      if base is None:             # <<<<<<<<<<<<<<
- *          baseptr = NULL
- *      else:
- */
-
-#line 979 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    goto __pyx_L3;
-
-#line 979 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_RefNannySetupContext("get_array_base", 0);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1027
+ *
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)             # <<<<<<<<<<<<<<
+ *     if base is NULL:
+ *         return None
+ */
+
+#line 1027 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_v_base = PyArray_BASE(__pyx_v_arr);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1028
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     return <object>base
+ */
+
+#line 1028 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_t_1 = ((__pyx_v_base == NULL) != 0);
+
+#line 1028 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  if (__pyx_t_1) {
+
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1029
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ *         return None             # <<<<<<<<<<<<<<
+ *     return <object>base
+ *
+ */
+
+#line 1029 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __Pyx_XDECREF(__pyx_r);
+
+#line 1029 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
+
+#line 1029 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+    goto __pyx_L0;
+
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1028
+ * cdef inline object get_array_base(ndarray arr):
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:             # <<<<<<<<<<<<<<
+ *         return None
+ *     return <object>base
+ */
+
+#line 1028 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":982
- *          baseptr = NULL
- *      else:
- *          Py_INCREF(base) # important to do this before decref below!             # <<<<<<<<<<<<<<
- *          baseptr = <PyObject*>base
- *      Py_XDECREF(arr.base)
- */
-
-#line 982 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  /*else*/ {
-
-#line 982 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    Py_INCREF(__pyx_v_base);
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":983
- *      else:
- *          Py_INCREF(base) # important to do this before decref below!
- *          baseptr = <PyObject*>base             # <<<<<<<<<<<<<<
- *      Py_XDECREF(arr.base)
- *      arr.base = baseptr
- */
-
-#line 983 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_v_baseptr = ((PyObject *)__pyx_v_base);
-
-#line 983 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  }
-
-#line 983 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_L3:;
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":984
- *          Py_INCREF(base) # important to do this before decref below!
- *          baseptr = <PyObject*>base
- *      Py_XDECREF(arr.base)             # <<<<<<<<<<<<<<
- *      arr.base = baseptr
- *
- */
-
-#line 984 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  Py_XDECREF(__pyx_v_arr->base);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":985
- *          baseptr = <PyObject*>base
- *      Py_XDECREF(arr.base)
- *      arr.base = baseptr             # <<<<<<<<<<<<<<
- *
- * cdef inline object get_array_base(ndarray arr):
- */
-
-#line 985 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_v_arr->base = __pyx_v_baseptr;
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":977
- *
- *
- * cdef inline void set_array_base(ndarray arr, object base):             # <<<<<<<<<<<<<<
- *      cdef PyObject* baseptr
- *      if base is None:
- */
-
-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1030
+ *     if base is NULL:
+ *         return None
+ *     return <object>base             # <<<<<<<<<<<<<<
+ *
+ * # Versions of the import_* functions which are more suitable for
+ */
+
+#line 1030 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_XDECREF(__pyx_r);
+
+#line 1030 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_INCREF(((PyObject *)__pyx_v_base));
+
+#line 1030 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_r = ((PyObject *)__pyx_v_base);
+
+#line 1030 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  goto __pyx_L0;
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1026
+ *     PyArray_SetBaseObject(arr, base)
+ *
+ * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
+ *     base = PyArray_BASE(arr)
+ *     if base is NULL:
+ */
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_L0:;
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_XGIVEREF(__pyx_r);
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 977 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  return __pyx_r;
+
+#line 1026 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":987
- *      arr.base = baseptr
- *
- * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
- *     if arr.base is NULL:
- *         return None
- */
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-static CYTHON_INLINE PyObject *__pyx_f_5numpy_get_array_base(PyArrayObject *__pyx_v_arr) {
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  PyObject *__pyx_r = NULL;
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_RefNannyDeclarations
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  int __pyx_t_1;
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_RefNannySetupContext("get_array_base", 0);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":988
- *
- * cdef inline object get_array_base(ndarray arr):
- *     if arr.base is NULL:             # <<<<<<<<<<<<<<
- *         return None
- *     else:
- */
-
-#line 988 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_t_1 = ((__pyx_v_arr->base == NULL) != 0);
-
-#line 988 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  if (__pyx_t_1) {
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":989
- * cdef inline object get_array_base(ndarray arr):
- *     if arr.base is NULL:
- *         return None             # <<<<<<<<<<<<<<
- *     else:
- *         return <object>arr.base
- */
-
-#line 989 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __Pyx_XDECREF(__pyx_r);
-
-#line 989 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_r = Py_None; __Pyx_INCREF(Py_None);
-
-#line 989 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    goto __pyx_L0;
-
-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":988
- *
- * cdef inline object get_array_base(ndarray arr):
- *     if arr.base is NULL:             # <<<<<<<<<<<<<<
- *         return None
- *     else:
- */
-
-#line 988 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  }
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":991
- *         return None
- *     else:
- *         return <object>arr.base             # <<<<<<<<<<<<<<
- *
- *
- */
-
-#line 991 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  /*else*/ {
-
-#line 991 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __Pyx_XDECREF(__pyx_r);
-
-#line 991 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __Pyx_INCREF(((PyObject *)__pyx_v_arr->base));
-
-#line 991 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    __pyx_r = ((PyObject *)__pyx_v_arr->base);
-
-#line 991 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-    goto __pyx_L0;
-
-#line 991 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  }
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":987
- *      arr.base = baseptr
- *
- * cdef inline object get_array_base(ndarray arr):             # <<<<<<<<<<<<<<
- *     if arr.base is NULL:
- *         return None
- */
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  /* function exit code */
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_L0:;
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_XGIVEREF(__pyx_r);
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_RefNannyFinishContext();
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  return __pyx_r;
-
-#line 987 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-}
-
-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":996
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1034
  * # Versions of the import_* functions which are more suitable for
  * # Cython code.
  * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
@@ -83613,46 +80483,46 @@
  *         _import_array()
  */

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE int __pyx_f_5numpy_import_array(void) {

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_r;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_2 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_3 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_4;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_5 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_6 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_7 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_8 = NULL;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("import_array", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1035
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -83660,31 +80530,31 @@
  *     except Exception:
  */

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   {

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_PyThreadState_declare

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_PyThreadState_assign

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_1);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_2);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_3);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     /*try:*/ {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":998
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1036
  * cdef inline int import_array() except -1:
  *     try:
  *         _import_array()             # <<<<<<<<<<<<<<
@@ -83692,10 +80562,10 @@
  *         raise ImportError("numpy.core.multiarray failed to import")
  */

-#line 998 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(10, 998, __pyx_L3_error)
-
-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+#line 1036 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = _import_array(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(10, 1036, __pyx_L3_error)
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1035
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -83703,25 +80573,25 @@
  *     except Exception:
  */

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L8_try_end;

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L3_error:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":999
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1037
  *     try:
  *         _import_array()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -83729,28 +80599,28 @@
  *
  */

-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));

-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_4) {

-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(10, 999, __pyx_L5_except_error)
-
-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(10, 1037, __pyx_L5_except_error)
+
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_5);

-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_6);

-#line 999 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1037 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_7);

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1000
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1038
  *         _import_array()
  *     except Exception:
  *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
@@ -83758,31 +80628,31 @@
  * cdef inline int import_umath() except -1:
  */

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__51, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 1000, __pyx_L5_except_error)
-
-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__39, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 1038, __pyx_L5_except_error)
+
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_8);

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_8, 0, 0, 0);

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 1000, __pyx_L5_except_error)
-
-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 1038, __pyx_L5_except_error)
+
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L5_except_error;

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L5_except_error:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":997
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1035
  * # Cython code.
  * cdef inline int import_array() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -83790,28 +80660,28 @@
  *     except Exception:
  */

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_1);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_2);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_3);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L1_error;

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L8_try_end:;

-#line 997 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1035 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":996
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1034
  * # Versions of the import_* functions which are more suitable for
  * # Cython code.
  * cdef inline int import_array() except -1:             # <<<<<<<<<<<<<<
@@ -83819,52 +80689,52 @@
  *         _import_array()
  */

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_5);

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_6);

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_7);

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_8);

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.import_array", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = -1;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 996 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1034 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1002
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1040
  *         raise ImportError("numpy.core.multiarray failed to import")
  *
  * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
@@ -83872,46 +80742,46 @@
  *         _import_umath()
  */

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE int __pyx_f_5numpy_import_umath(void) {

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_r;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_2 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_3 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_4;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_5 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_6 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_7 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_8 = NULL;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("import_umath", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1003
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1041
  *
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -83919,31 +80789,31 @@
  *     except Exception:
  */

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   {

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_PyThreadState_declare

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_PyThreadState_assign

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_1);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_2);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_3);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     /*try:*/ {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1004
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1042
  * cdef inline int import_umath() except -1:
  *     try:
  *         _import_umath()             # <<<<<<<<<<<<<<
@@ -83951,10 +80821,10 @@
  *         raise ImportError("numpy.core.umath failed to import")
  */

-#line 1004 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(10, 1004, __pyx_L3_error)
-
-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1003
+#line 1042 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(10, 1042, __pyx_L3_error)
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1041
  *
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -83962,25 +80832,25 @@
  *     except Exception:
  */

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L8_try_end;

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L3_error:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1005
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1043
  *     try:
  *         _import_umath()
  *     except Exception:             # <<<<<<<<<<<<<<
@@ -83988,28 +80858,28 @@
  *
  */

-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));

-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_4) {

-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(10, 1005, __pyx_L5_except_error)
-
-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(10, 1043, __pyx_L5_except_error)
+
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_5);

-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_6);

-#line 1005 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1043 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_7);

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1006
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1044
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -84017,31 +80887,31 @@
  * cdef inline int import_ufunc() except -1:
  */

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__52, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 1006, __pyx_L5_except_error)
-
-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 1044, __pyx_L5_except_error)
+
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_8);

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_8, 0, 0, 0);

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 1006, __pyx_L5_except_error)
-
-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 1044, __pyx_L5_except_error)
+
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L5_except_error;

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L5_except_error:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1003
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1041
  *
  * cdef inline int import_umath() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -84049,28 +80919,28 @@
  *     except Exception:
  */

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_1);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_2);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_3);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L1_error;

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L8_try_end:;

-#line 1003 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1041 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1002
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1040
  *         raise ImportError("numpy.core.multiarray failed to import")
  *
  * cdef inline int import_umath() except -1:             # <<<<<<<<<<<<<<
@@ -84078,52 +80948,52 @@
  *         _import_umath()
  */

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_5);

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_6);

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_7);

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_8);

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.import_umath", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = -1;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 1002 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1040 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

-/* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1008
+/* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1046
  *         raise ImportError("numpy.core.umath failed to import")
  *
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
@@ -84131,46 +81001,46 @@
  *         _import_umath()
  */

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 static CYTHON_INLINE int __pyx_f_5numpy_import_ufunc(void) {

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_r;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyDeclarations

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_1 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_2 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_3 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   int __pyx_t_4;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_5 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_6 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_7 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   PyObject *__pyx_t_8 = NULL;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannySetupContext("import_ufunc", 0);

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1009
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1047
  *
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -84178,31 +81048,31 @@
  *     except Exception:
  */

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   {

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_PyThreadState_declare

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_PyThreadState_assign

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_1);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_2);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGOTREF(__pyx_t_3);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     /*try:*/ {

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1010
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1048
  * cdef inline int import_ufunc() except -1:
  *     try:
  *         _import_umath()             # <<<<<<<<<<<<<<
@@ -84210,10 +81080,10 @@
  *         raise ImportError("numpy.core.umath failed to import")
  */

-#line 1010 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(10, 1010, __pyx_L3_error)
-
-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1009
+#line 1048 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_4 = _import_umath(); if (unlikely(__pyx_t_4 == ((int)-1))) __PYX_ERR(10, 1048, __pyx_L3_error)
+
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1047
  *
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -84221,83 +81091,83 @@
  *     except Exception:
  */

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L8_try_end;

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L3_error:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1011
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1049
  *     try:
  *         _import_umath()
  *     except Exception:             # <<<<<<<<<<<<<<
  *         raise ImportError("numpy.core.umath failed to import")
  */

-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));

-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     if (__pyx_t_4) {

-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(10, 1011, __pyx_L5_except_error)
-
-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7) < 0) __PYX_ERR(10, 1049, __pyx_L5_except_error)
+
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_5);

-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_6);

-#line 1011 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1049 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_7);

-      /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1012
+      /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1050
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
  */

-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__53, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 1012, __pyx_L5_except_error)
-
-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __pyx_t_8 = __Pyx_PyObject_Call(__pyx_builtin_ImportError, __pyx_tuple__40, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(10, 1050, __pyx_L5_except_error)
+
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_GOTREF(__pyx_t_8);

-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_Raise(__pyx_t_8, 0, 0, 0);

-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;

-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-      __PYX_ERR(10, 1012, __pyx_L5_except_error)
-
-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+      __PYX_ERR(10, 1050, __pyx_L5_except_error)
+
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     }

-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L5_except_error;

-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1050 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L5_except_error:;

-    /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1009
+    /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1047
  *
  * cdef inline int import_ufunc() except -1:
  *     try:             # <<<<<<<<<<<<<<
@@ -84305,28 +81175,28 @@
  *     except Exception:
  */

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_1);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_2);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_XGIVEREF(__pyx_t_3);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3);

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     goto __pyx_L1_error;

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
     __pyx_L8_try_end:;

-#line 1009 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1047 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   }

-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1008
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1046
  *         raise ImportError("numpy.core.umath failed to import")
  *
  * cdef inline int import_ufunc() except -1:             # <<<<<<<<<<<<<<
@@ -84334,49 +81204,49 @@
  *         _import_umath()
  */

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-
-
-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+
+
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   /* function exit code */

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = 0;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   goto __pyx_L0;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L1_error:;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_5);

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_6);

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_7);

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_XDECREF(__pyx_t_8);

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_AddTraceback("numpy.import_ufunc", __pyx_clineno, __pyx_lineno, __pyx_filename);

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_r = -1;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __pyx_L0:;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   __Pyx_RefNannyFinishContext();

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
   return __pyx_r;

-#line 1008 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+#line 1046 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
 }

 /* "array.pxd":93
@@ -84458,6 +81328,9 @@

 #line 93 "array.pxd"
   int __pyx_t_6;
+
+#line 93 "array.pxd"
+  char __pyx_t_7;

 #line 93 "array.pxd"
   if (__pyx_v_info == NULL) {
@@ -84685,10 +81558,10 @@
  */

 #line 114 "array.pxd"
-  __pyx_t_3 = __pyx_v_self->ob_descr->typecode;
+  __pyx_t_7 = __pyx_v_self->ob_descr->typecode;

 #line 114 "array.pxd"
-  (__pyx_v_info->format[0]) = __pyx_t_3;
+  (__pyx_v_info->format[0]) = __pyx_t_7;

   /* "array.pxd":115
  *             info.format = <char*> (info.shape + 1)
@@ -86057,7 +82930,7 @@
 static PyMethodDef __pyx_methods[] = {

 #line 55 "string.to_py"
-  {"_blockwise_inner_join", (PyCFunction)__pyx_pw_13_librootnumpy_129_blockwise_inner_join, METH_VARARGS|METH_KEYWORDS, 0},
+  {"_blockwise_inner_join", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_13_librootnumpy_129_blockwise_inner_join, METH_VARARGS|METH_KEYWORDS, 0},

 #line 55 "string.to_py"
   {0, 0, 0, 0}
@@ -86159,12 +83032,24 @@
 };

 #line 55 "string.to_py"
+#endif
+
+#line 55 "string.to_py"
+#ifndef CYTHON_SMALL_CODE
+#if defined(__clang__)
+    #define CYTHON_SMALL_CODE
+#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+    #define CYTHON_SMALL_CODE __attribute__((cold))
+#else
+    #define CYTHON_SMALL_CODE
+#endif
 #endif

 static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__pyx_kp_s_0_d, __pyx_k_0_d, sizeof(__pyx_k_0_d), 0, 0, 1, 0},
   {&__pyx_kp_s_0_d_C, __pyx_k_0_d_C, sizeof(__pyx_k_0_d_C), 0, 0, 1, 0},
   {&__pyx_kp_s_0_is_not_a_ROOT_class, __pyx_k_0_is_not_a_ROOT_class, sizeof(__pyx_k_0_is_not_a_ROOT_class), 0, 0, 1, 0},
+  {&__pyx_kp_s_0_with_path_1_exists, __pyx_k_0_with_path_1_exists, sizeof(__pyx_k_0_with_path_1_exists), 0, 0, 1, 0},
   {&__pyx_kp_s_1_byte, __pyx_k_1_byte, sizeof(__pyx_k_1_byte), 0, 0, 1, 0},
   {&__pyx_n_s_AssertionError, __pyx_k_AssertionError, sizeof(__pyx_k_AssertionError), 0, 0, 1, 1},
   {&__pyx_n_s_B, __pyx_k_B, sizeof(__pyx_k_B), 0, 0, 1, 1},
@@ -86204,14 +83089,14 @@
   {&__pyx_n_s_TypeError, __pyx_k_TypeError, sizeof(__pyx_k_TypeError), 0, 0, 1, 1},
   {&__pyx_n_s_ULong64_t, __pyx_k_ULong64_t, sizeof(__pyx_k_ULong64_t), 0, 0, 1, 1},
   {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1},
+  {&__pyx_kp_s__10, __pyx_k__10, sizeof(__pyx_k__10), 0, 0, 1, 0},
   {&__pyx_kp_s__11, __pyx_k__11, sizeof(__pyx_k__11), 0, 0, 1, 0},
-  {&__pyx_kp_s__12, __pyx_k__12, sizeof(__pyx_k__12), 0, 0, 1, 0},
-  {&__pyx_kp_s__15, __pyx_k__15, sizeof(__pyx_k__15), 0, 0, 1, 0},
-  {&__pyx_kp_s__16, __pyx_k__16, sizeof(__pyx_k__16), 0, 0, 1, 0},
-  {&__pyx_kp_s__17, __pyx_k__17, sizeof(__pyx_k__17), 0, 0, 1, 0},
-  {&__pyx_n_b__33, __pyx_k__33, sizeof(__pyx_k__33), 0, 0, 0, 1},
+  {&__pyx_n_b__27, __pyx_k__27, sizeof(__pyx_k__27), 0, 0, 0, 1},
   {&__pyx_kp_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 0},
+  {&__pyx_kp_s__6, __pyx_k__6, sizeof(__pyx_k__6), 0, 0, 1, 0},
   {&__pyx_kp_s__7, __pyx_k__7, sizeof(__pyx_k__7), 0, 0, 1, 0},
+  {&__pyx_kp_s__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 0, 1, 0},
+  {&__pyx_kp_s__9, __pyx_k__9, sizeof(__pyx_k__9), 0, 0, 1, 0},
   {&__pyx_n_s_arr, __pyx_k_arr, sizeof(__pyx_k_arr), 0, 0, 1, 1},
   {&__pyx_n_s_arr_2, __pyx_k_arr_2, sizeof(__pyx_k_arr_2), 0, 0, 1, 1},
   {&__pyx_n_s_array, __pyx_k_array, sizeof(__pyx_k_array), 0, 0, 1, 1},
@@ -86252,6 +83137,7 @@
   {&__pyx_n_s_classes, __pyx_k_classes, sizeof(__pyx_k_classes), 0, 0, 1, 1},
   {&__pyx_n_s_cleanup, __pyx_k_cleanup, sizeof(__pyx_k_cleanup), 0, 0, 1, 1},
   {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1},
+  {&__pyx_n_s_clsToCreate, __pyx_k_clsToCreate, sizeof(__pyx_k_clsToCreate), 0, 0, 1, 1},
   {&__pyx_n_s_clsname, __pyx_k_clsname, sizeof(__pyx_k_clsname), 0, 0, 1, 1},
   {&__pyx_n_s_collections, __pyx_k_collections, sizeof(__pyx_k_collections), 0, 0, 1, 1},
   {&__pyx_n_s_compile, __pyx_k_compile, sizeof(__pyx_k_compile), 0, 0, 1, 1},
@@ -86266,6 +83152,7 @@
   {&__pyx_n_s_ctypename, __pyx_k_ctypename, sizeof(__pyx_k_ctypename), 0, 0, 1, 1},
   {&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
   {&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
+  {&__pyx_n_s_dirs, __pyx_k_dirs, sizeof(__pyx_k_dirs), 0, 0, 1, 1},
   {&__pyx_n_b_double, __pyx_k_double, sizeof(__pyx_k_double), 0, 0, 0, 1},
   {&__pyx_n_s_double, __pyx_k_double, sizeof(__pyx_k_double), 0, 0, 1, 1},
   {&__pyx_n_s_dtype, __pyx_k_dtype, sizeof(__pyx_k_dtype), 0, 0, 1, 1},
@@ -86374,6 +83261,7 @@
   {&__pyx_n_s_j, __pyx_k_j, sizeof(__pyx_k_j), 0, 0, 1, 1},
   {&__pyx_n_s_join, __pyx_k_join, sizeof(__pyx_k_join), 0, 0, 1, 1},
   {&__pyx_n_s_kB, __pyx_k_kB, sizeof(__pyx_k_kB), 0, 0, 1, 1},
+  {&__pyx_n_s_key, __pyx_k_key, sizeof(__pyx_k_key), 0, 0, 1, 1},
   {&__pyx_n_s_keys, __pyx_k_keys, sizeof(__pyx_k_keys), 0, 0, 1, 1},
   {&__pyx_n_s_kind, __pyx_k_kind, sizeof(__pyx_k_kind), 0, 0, 1, 1},
   {&__pyx_n_s_l, __pyx_k_l, sizeof(__pyx_k_l), 0, 0, 1, 1},
@@ -86399,6 +83287,7 @@
   {&__pyx_kp_s_multiple_trees_found_0, __pyx_k_multiple_trees_found_0, sizeof(__pyx_k_multiple_trees_found_0), 0, 0, 1, 0},
   {&__pyx_n_s_n_samples, __pyx_k_n_samples, sizeof(__pyx_k_n_samples), 0, 0, 1, 1},
   {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
+  {&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
   {&__pyx_n_s_names, __pyx_k_names, sizeof(__pyx_k_names), 0, 0, 1, 1},
   {&__pyx_n_s_nbins, __pyx_k_nbins, sizeof(__pyx_k_nbins), 0, 0, 1, 1},
   {&__pyx_kp_u_ndarray_is_not_C_contiguous, __pyx_k_ndarray_is_not_C_contiguous, sizeof(__pyx_k_ndarray_is_not_C_contiguous), 0, 1, 0, 0},
@@ -86413,6 +83302,7 @@
   {&__pyx_kp_s_object_selection_contains_branch, __pyx_k_object_selection_contains_branch, sizeof(__pyx_k_object_selection_contains_branch), 0, 0, 1, 0},
   {&__pyx_n_s_objects, __pyx_k_objects, sizeof(__pyx_k_objects), 0, 0, 1, 1},
   {&__pyx_n_s_outtree, __pyx_k_outtree, sizeof(__pyx_k_outtree), 0, 0, 1, 1},
+  {&__pyx_n_s_path, __pyx_k_path, sizeof(__pyx_k_path), 0, 0, 1, 1},
   {&__pyx_n_s_pop, __pyx_k_pop, sizeof(__pyx_k_pop), 0, 0, 1, 1},
   {&__pyx_n_s_profile, __pyx_k_profile, sizeof(__pyx_k_profile), 0, 0, 1, 1},
   {&__pyx_n_s_profile_2, __pyx_k_profile_2, sizeof(__pyx_k_profile_2), 0, 0, 1, 1},
@@ -86464,12 +83354,14 @@
   {&__pyx_n_s_structure, __pyx_k_structure, sizeof(__pyx_k_structure), 0, 0, 1, 1},
   {&__pyx_n_s_subdtype, __pyx_k_subdtype, sizeof(__pyx_k_subdtype), 0, 0, 1, 1},
   {&__pyx_n_s_tclass, __pyx_k_tclass, sizeof(__pyx_k_tclass), 0, 0, 1, 1},
+  {&__pyx_n_s_tdf, __pyx_k_tdf, sizeof(__pyx_k_tdf), 0, 0, 1, 1},
   {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
   {&__pyx_kp_s_the_branch_or_expression_0_is_no, __pyx_k_the_branch_or_expression_0_is_no, sizeof(__pyx_k_the_branch_or_expression_0_is_no), 0, 0, 1, 0},
   {&__pyx_kp_s_the_chain_is_not_initialized, __pyx_k_the_chain_is_not_initialized, sizeof(__pyx_k_the_chain_is_not_initialized), 0, 0, 1, 0},
   {&__pyx_kp_s_the_expression_0_is_not_valid, __pyx_k_the_expression_0_is_not_valid, sizeof(__pyx_k_the_expression_0_is_not_valid), 0, 0, 1, 0},
   {&__pyx_n_s_thn2array, __pyx_k_thn2array, sizeof(__pyx_k_thn2array), 0, 0, 1, 1},
   {&__pyx_n_s_thnsparse2array, __pyx_k_thnsparse2array, sizeof(__pyx_k_thnsparse2array), 0, 0, 1, 1},
+  {&__pyx_n_s_tname, __pyx_k_tname, sizeof(__pyx_k_tname), 0, 0, 1, 1},
   {&__pyx_n_b_tree, __pyx_k_tree, sizeof(__pyx_k_tree), 0, 0, 0, 1},
   {&__pyx_n_s_tree, __pyx_k_tree, sizeof(__pyx_k_tree), 0, 0, 1, 1},
   {&__pyx_kp_s_tree_0_not_found_in_1, __pyx_k_tree_0_not_found_in_1, sizeof(__pyx_k_tree_0_not_found_in_1), 0, 0, 1, 0},
@@ -86538,7 +83430,7 @@
   {&__pyx_n_s_zeros, __pyx_k_zeros, sizeof(__pyx_k_zeros), 0, 0, 1, 1},
   {0, 0, 0, 0, 0, 0, 0}
 };
-static int __Pyx_InitCachedBuiltins(void) {
+static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
   __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 29, __pyx_L1_error)
   __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(1, 69, __pyx_L1_error)
   __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(1, 91, __pyx_L1_error)
@@ -86561,7 +83453,7 @@
   return -1;
 }

-static int __Pyx_InitCachedConstants(void) {
+static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);

@@ -86633,108 +83525,6 @@
 #line 489 "root_numpy/src/converters.pyx"
   __Pyx_GIVEREF(__pyx_tuple__4);

-  /* "root_numpy/src/converters.pyx":597
- * cdef Converter* get_array_converter(string typename, arraydef):
- *     # Determine shape ignoring possible variable first dimension
- *     arraytokens = arraydef.strip('[]')             # <<<<<<<<<<<<<<
- *     if arraytokens:
- *         arraytokens = arraytokens.split('][')
- */
-
-#line 597 "root_numpy/src/converters.pyx"
-  __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_s__5); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(1, 597, __pyx_L1_error)
-
-#line 597 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__6);
-
-#line 597 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__6);
-
-  /* "root_numpy/src/converters.pyx":599
- *     arraytokens = arraydef.strip('[]')
- *     if arraytokens:
- *         arraytokens = arraytokens.split('][')             # <<<<<<<<<<<<<<
- *     shape = tuple([int(token) for token in arraytokens])
- *
- */
-
-#line 599 "root_numpy/src/converters.pyx"
-  __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_s__7); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(1, 599, __pyx_L1_error)
-
-#line 599 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__8);
-
-#line 599 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__8);
-
-  /* "root_numpy/src/converters.pyx":603
- *
- *     # Variable-length array
- *     if arraydef.startswith('[]'):             # <<<<<<<<<<<<<<
- *         conv = find_converter_by_typename(typename + arraydef)
- *         if conv == NULL:
- */
-
-#line 603 "root_numpy/src/converters.pyx"
-  __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_s__5); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(1, 603, __pyx_L1_error)
-
-#line 603 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__9);
-
-#line 603 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__9);
-
-  /* "root_numpy/src/converters.pyx":661
- *     match = re.match(LEAF_PATTERN, leaf_title)
- *     if match is not None:
- *         arraydef = match.group(1)             # <<<<<<<<<<<<<<
- *         if arraydef is not None:
- *             if leaf_count != NULL:
- */
-
-#line 661 "root_numpy/src/converters.pyx"
-  __pyx_tuple__10 = PyTuple_Pack(1, __pyx_int_1); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(1, 661, __pyx_L1_error)
-
-#line 661 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__10);
-
-#line 661 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__10);
-
-  /* "root_numpy/src/converters.pyx":665
- *             if leaf_count != NULL:
- *                 # Ignore length-leaf name and use [] to denote variable-length first dimension
- *                 arraydef = '[' + arraydef[arraydef.find(']'):]             # <<<<<<<<<<<<<<
- *             return get_array_converter(leaf_type, arraydef)
- *     return find_converter_by_typename(leaf_type)
- */
-
-#line 665 "root_numpy/src/converters.pyx"
-  __pyx_tuple__13 = PyTuple_Pack(1, __pyx_kp_s__12); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(1, 665, __pyx_L1_error)
-
-#line 665 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__13);
-
-#line 665 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__13);
-
-  /* "root_numpy/src/converters.pyx":714
- *         if ndim > 0 and roottype.compare('C') != 0:
- *             for axis in range(ndim):
- *                 token = ('[{0:d}]'.format(dims[axis])).encode('utf-8')             # <<<<<<<<<<<<<<
- *                 leaflist.append(<char*> token)
- *         leaflist.append(b'/')
- */
-
-#line 714 "root_numpy/src/converters.pyx"
-  __pyx_tuple__14 = PyTuple_Pack(1, __pyx_kp_s_utf_8); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(1, 714, __pyx_L1_error)
-
-#line 714 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__14);
-
-#line 714 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__14);
-
   /* "root_numpy/src/tree.pyx":131
  * cdef humanize_bytes(long value, int precision=1):
  *     abbrevs = (
@@ -86744,13 +83534,13 @@
  */

 #line 131 "root_numpy/src/tree.pyx"
-  __pyx_tuple__18 = PyTuple_Pack(2, __pyx_int_1125899906842624, __pyx_n_s_PB); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(2, 131, __pyx_L1_error)
+  __pyx_tuple__12 = PyTuple_Pack(2, __pyx_int_1125899906842624, __pyx_n_s_PB); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(2, 131, __pyx_L1_error)

 #line 131 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__18);
+  __Pyx_GOTREF(__pyx_tuple__12);

 #line 131 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__18);
+  __Pyx_GIVEREF(__pyx_tuple__12);

   /* "root_numpy/src/tree.pyx":132
  *     abbrevs = (
@@ -86761,13 +83551,13 @@
  */

 #line 132 "root_numpy/src/tree.pyx"
-  __pyx_tuple__19 = PyTuple_Pack(2, __pyx_int_1099511627776, __pyx_n_s_TB); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(2, 132, __pyx_L1_error)
+  __pyx_tuple__13 = PyTuple_Pack(2, __pyx_int_1099511627776, __pyx_n_s_TB); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(2, 132, __pyx_L1_error)

 #line 132 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__19);
+  __Pyx_GOTREF(__pyx_tuple__13);

 #line 132 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__19);
+  __Pyx_GIVEREF(__pyx_tuple__13);

   /* "root_numpy/src/tree.pyx":133
  *         (1<<50, 'PB'),
@@ -86778,13 +83568,13 @@
  */

 #line 133 "root_numpy/src/tree.pyx"
-  __pyx_tuple__20 = PyTuple_Pack(2, __pyx_int_1073741824, __pyx_n_s_GB); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(2, 133, __pyx_L1_error)
+  __pyx_tuple__14 = PyTuple_Pack(2, __pyx_int_1073741824, __pyx_n_s_GB); if (unlikely(!__pyx_tuple__14)) __PYX_ERR(2, 133, __pyx_L1_error)

 #line 133 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__20);
+  __Pyx_GOTREF(__pyx_tuple__14);

 #line 133 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__20);
+  __Pyx_GIVEREF(__pyx_tuple__14);

   /* "root_numpy/src/tree.pyx":134
  *         (1<<40, 'TB'),
@@ -86795,13 +83585,13 @@
  */

 #line 134 "root_numpy/src/tree.pyx"
-  __pyx_tuple__21 = PyTuple_Pack(2, __pyx_int_1048576, __pyx_n_s_MB); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(2, 134, __pyx_L1_error)
+  __pyx_tuple__15 = PyTuple_Pack(2, __pyx_int_1048576, __pyx_n_s_MB); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(2, 134, __pyx_L1_error)

 #line 134 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__21);
+  __Pyx_GOTREF(__pyx_tuple__15);

 #line 134 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__21);
+  __Pyx_GIVEREF(__pyx_tuple__15);

   /* "root_numpy/src/tree.pyx":135
  *         (1<<30, 'GB'),
@@ -86812,13 +83602,13 @@
  */

 #line 135 "root_numpy/src/tree.pyx"
-  __pyx_tuple__22 = PyTuple_Pack(2, __pyx_int_1024, __pyx_n_s_kB); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(2, 135, __pyx_L1_error)
+  __pyx_tuple__16 = PyTuple_Pack(2, __pyx_int_1024, __pyx_n_s_kB); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(2, 135, __pyx_L1_error)

 #line 135 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__22);
+  __Pyx_GOTREF(__pyx_tuple__16);

 #line 135 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__22);
+  __Pyx_GIVEREF(__pyx_tuple__16);

   /* "root_numpy/src/tree.pyx":136
  *         (1<<20, 'MB'),
@@ -86829,13 +83619,13 @@
  */

 #line 136 "root_numpy/src/tree.pyx"
-  __pyx_tuple__23 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_bytes); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(2, 136, __pyx_L1_error)
+  __pyx_tuple__17 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_bytes); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(2, 136, __pyx_L1_error)

 #line 136 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__23);
+  __Pyx_GOTREF(__pyx_tuple__17);

 #line 136 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__23);
+  __Pyx_GIVEREF(__pyx_tuple__17);

   /* "root_numpy/src/tree.pyx":131
  * cdef humanize_bytes(long value, int precision=1):
@@ -86846,13 +83636,13 @@
  */

 #line 131 "root_numpy/src/tree.pyx"
-  __pyx_tuple__24 = PyTuple_Pack(6, __pyx_tuple__18, __pyx_tuple__19, __pyx_tuple__20, __pyx_tuple__21, __pyx_tuple__22, __pyx_tuple__23); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(2, 131, __pyx_L1_error)
+  __pyx_tuple__18 = PyTuple_Pack(6, __pyx_tuple__12, __pyx_tuple__13, __pyx_tuple__14, __pyx_tuple__15, __pyx_tuple__16, __pyx_tuple__17); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(2, 131, __pyx_L1_error)

 #line 131 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__24);
+  __Pyx_GOTREF(__pyx_tuple__18);

 #line 131 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__24);
+  __Pyx_GIVEREF(__pyx_tuple__18);

   /* "root_numpy/src/tree.pyx":149
  *         return
@@ -86863,13 +83653,13 @@
  */

 #line 149 "root_numpy/src/tree.pyx"
-  __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_chain_is_empty); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(2, 149, __pyx_L1_error)
+  __pyx_tuple__19 = PyTuple_Pack(1, __pyx_kp_s_chain_is_empty); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(2, 149, __pyx_L1_error)

 #line 149 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__25);
+  __Pyx_GOTREF(__pyx_tuple__19);

 #line 149 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__25);
+  __Pyx_GIVEREF(__pyx_tuple__19);

   /* "root_numpy/src/tree.pyx":153
  *         if ignore_index:
@@ -86880,13 +83670,13 @@
  */

 #line 153 "root_numpy/src/tree.pyx"
-  __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_tree_index_in_chain_is_out_of_bo); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(2, 153, __pyx_L1_error)
+  __pyx_tuple__20 = PyTuple_Pack(1, __pyx_kp_s_tree_index_in_chain_is_out_of_bo); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(2, 153, __pyx_L1_error)

 #line 153 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__26);
+  __Pyx_GOTREF(__pyx_tuple__20);

 #line 153 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__26);
+  __Pyx_GIVEREF(__pyx_tuple__20);

   /* "root_numpy/src/tree.pyx":155
  *         raise IndexError("tree index in chain is out of bounds")
@@ -86897,13 +83687,13 @@
  */

 #line 155 "root_numpy/src/tree.pyx"
-  __pyx_tuple__27 = PyTuple_Pack(1, __pyx_kp_s_cannot_open_current_file); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(2, 155, __pyx_L1_error)
+  __pyx_tuple__21 = PyTuple_Pack(1, __pyx_kp_s_cannot_open_current_file); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(2, 155, __pyx_L1_error)

 #line 155 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__27);
+  __Pyx_GOTREF(__pyx_tuple__21);

 #line 155 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__27);
+  __Pyx_GIVEREF(__pyx_tuple__21);

   /* "root_numpy/src/tree.pyx":157
  *         raise IOError("cannot open current file")
@@ -86914,13 +83704,13 @@
  */

 #line 157 "root_numpy/src/tree.pyx"
-  __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_cannot_access_tree_in_current_fi); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(2, 157, __pyx_L1_error)
+  __pyx_tuple__22 = PyTuple_Pack(1, __pyx_kp_s_cannot_access_tree_in_current_fi); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(2, 157, __pyx_L1_error)

 #line 157 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__28);
+  __Pyx_GOTREF(__pyx_tuple__22);

 #line 157 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__28);
+  __Pyx_GIVEREF(__pyx_tuple__22);

   /* "root_numpy/src/tree.pyx":158
  *     elif load == -4:
@@ -86931,13 +83721,13 @@
  */

 #line 158 "root_numpy/src/tree.pyx"
-  __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_the_chain_is_not_initialized); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(2, 158, __pyx_L1_error)
+  __pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_the_chain_is_not_initialized); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(2, 158, __pyx_L1_error)

 #line 158 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__29);
+  __Pyx_GOTREF(__pyx_tuple__23);

 #line 158 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__29);
+  __Pyx_GIVEREF(__pyx_tuple__23);

   /* "root_numpy/src/tree.pyx":172
  *
@@ -86948,13 +83738,13 @@
  */

 #line 172 "root_numpy/src/tree.pyx"
-  __pyx_tuple__30 = PyTuple_Pack(1, __pyx_kp_s_tree_has_no_branches); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(2, 172, __pyx_L1_error)
+  __pyx_tuple__24 = PyTuple_Pack(1, __pyx_kp_s_tree_has_no_branches); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(2, 172, __pyx_L1_error)

 #line 172 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__30);
+  __Pyx_GOTREF(__pyx_tuple__24);

 #line 172 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__30);
+  __Pyx_GIVEREF(__pyx_tuple__24);

   /* "root_numpy/src/tree.pyx":178
  *         num_requested_branches = len(branches)
@@ -86965,13 +83755,13 @@
  */

 #line 178 "root_numpy/src/tree.pyx"
-  __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_branches_is_an_empty_list); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(2, 178, __pyx_L1_error)
+  __pyx_tuple__25 = PyTuple_Pack(1, __pyx_kp_s_branches_is_an_empty_list); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(2, 178, __pyx_L1_error)

 #line 178 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__31);
+  __Pyx_GOTREF(__pyx_tuple__25);

 #line 178 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__31);
+  __Pyx_GIVEREF(__pyx_tuple__25);

   /* "root_numpy/src/tree.pyx":285
  *                     branch_dict[branch_spec] = (idx, 0)
@@ -86982,13 +83772,13 @@
  */

 #line 285 "root_numpy/src/tree.pyx"
-  __pyx_tuple__32 = PyTuple_Pack(1, __pyx_kp_s_duplicate_branches_requested); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(2, 285, __pyx_L1_error)
+  __pyx_tuple__26 = PyTuple_Pack(1, __pyx_kp_s_duplicate_branches_requested); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(2, 285, __pyx_L1_error)

 #line 285 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__32);
+  __Pyx_GOTREF(__pyx_tuple__26);

 #line 285 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__32);
+  __Pyx_GIVEREF(__pyx_tuple__26);

   /* "root_numpy/src/tree.pyx":511
  *
@@ -86999,13 +83789,13 @@
  */

 #line 511 "root_numpy/src/tree.pyx"
-  __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_s_unable_to_convert_any_branches_i); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(2, 511, __pyx_L1_error)
+  __pyx_tuple__28 = PyTuple_Pack(1, __pyx_kp_s_unable_to_convert_any_branches_i); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(2, 511, __pyx_L1_error)

 #line 511 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__34);
+  __Pyx_GOTREF(__pyx_tuple__28);

 #line 511 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__34);
+  __Pyx_GIVEREF(__pyx_tuple__28);

   /* "root_numpy/src/tree.pyx":514
  *
@@ -87016,13 +83806,13 @@
  */

 #line 514 "root_numpy/src/tree.pyx"
-  __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_s_object_selection_contains_branch); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(2, 514, __pyx_L1_error)
+  __pyx_tuple__29 = PyTuple_Pack(1, __pyx_kp_s_object_selection_contains_branch); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(2, 514, __pyx_L1_error)

 #line 514 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__35);
+  __Pyx_GOTREF(__pyx_tuple__29);

 #line 514 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__35);
+  __Pyx_GIVEREF(__pyx_tuple__29);

   /* "root_numpy/src/tree.pyx":527
  *             dtype_fields.append((columns[icol].name, converters[icol].get_dtype(columns[icol])))
@@ -87033,13 +83823,13 @@
  */

 #line 527 "root_numpy/src/tree.pyx"
-  __pyx_tuple__36 = PyTuple_Pack(1, __pyx_n_s_d); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(2, 527, __pyx_L1_error)
+  __pyx_tuple__30 = PyTuple_Pack(1, __pyx_n_s_d); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(2, 527, __pyx_L1_error)

 #line 527 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__36);
+  __Pyx_GOTREF(__pyx_tuple__30);

 #line 527 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__36);
+  __Pyx_GIVEREF(__pyx_tuple__30);

   /* "root_numpy/src/tree.pyx":554
  *             handle_load(entry_size)
@@ -87050,13 +83840,13 @@
  */

 #line 554 "root_numpy/src/tree.pyx"
-  __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_s_read_failure_in_current_tree_or); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(2, 554, __pyx_L1_error)
+  __pyx_tuple__31 = PyTuple_Pack(1, __pyx_kp_s_read_failure_in_current_tree_or); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(2, 554, __pyx_L1_error)

 #line 554 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__37);
+  __Pyx_GOTREF(__pyx_tuple__31);

 #line 554 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__37);
+  __Pyx_GIVEREF(__pyx_tuple__31);

   /* "root_numpy/src/hist.pyx":10
  *     cdef TH1* _hist = <TH1*> PyCObject_AsVoidPtr(hist)
@@ -87067,134 +83857,49 @@
  */

 #line 10 "root_numpy/src/hist.pyx"
-  __pyx_tuple__39 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(6, 10, __pyx_L1_error)
+  __pyx_tuple__33 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(6, 10, __pyx_L1_error)

 #line 10 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__39);
+  __Pyx_GOTREF(__pyx_tuple__33);

 #line 10 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__39);
-
-  /* "root_numpy/src/hist.pyx":38
- *     cdef TH2* _hist = <TH2*> PyCObject_AsVoidPtr(hist)
- *     cdef SIZE_t size = array.shape[0]
- *     cdef np.ndarray[np.int_t, ndim=1] idx = np.empty(0, dtype=np.int)             # <<<<<<<<<<<<<<
- *     cdef SIZE_t i
- *     cdef int bin_idx
- */
-
-#line 38 "root_numpy/src/hist.pyx"
-  __pyx_tuple__40 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(6, 38, __pyx_L1_error)
-
-#line 38 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__40);
-
-#line 38 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__40);
-
-  /* "root_numpy/src/hist.pyx":66
- *     cdef TH3* _hist = <TH3*> PyCObject_AsVoidPtr(hist)
- *     cdef SIZE_t size = array.shape[0]
- *     cdef np.ndarray[np.int_t, ndim=1] idx = np.empty(0, dtype=np.int)             # <<<<<<<<<<<<<<
- *     cdef SIZE_t i
- *     cdef int bin_idx
- */
-
-#line 66 "root_numpy/src/hist.pyx"
-  __pyx_tuple__41 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(6, 66, __pyx_L1_error)
-
-#line 66 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__41);
-
-#line 66 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__41);
-
-  /* "root_numpy/src/hist.pyx":94
- *     cdef TProfile* _profile = <TProfile*> PyCObject_AsVoidPtr(profile)
- *     cdef SIZE_t size = array.shape[0]
- *     cdef np.ndarray[np.int_t, ndim=1] idx = np.empty(0, dtype=np.int)             # <<<<<<<<<<<<<<
- *     cdef SIZE_t i
- *     cdef int bin_idx
- */
-
-#line 94 "root_numpy/src/hist.pyx"
-  __pyx_tuple__42 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(6, 94, __pyx_L1_error)
-
-#line 94 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__42);
-
-#line 94 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__42);
-
-  /* "root_numpy/src/hist.pyx":122
- *     cdef TProfile2D* _profile = <TProfile2D*> PyCObject_AsVoidPtr(profile)
- *     cdef SIZE_t size = array.shape[0]
- *     cdef np.ndarray[np.int_t, ndim=1] idx = np.empty(0, dtype=np.int)             # <<<<<<<<<<<<<<
- *     cdef SIZE_t i
- *     cdef int bin_idx
- */
-
-#line 122 "root_numpy/src/hist.pyx"
-  __pyx_tuple__43 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(6, 122, __pyx_L1_error)
-
-#line 122 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__43);
-
-#line 122 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__43);
-
-  /* "root_numpy/src/hist.pyx":150
- *     cdef TProfile3D* _profile = <TProfile3D*> PyCObject_AsVoidPtr(profile)
- *     cdef SIZE_t size = array.shape[0]
- *     cdef np.ndarray[np.int_t, ndim=1] idx = np.empty(0, dtype=np.int)             # <<<<<<<<<<<<<<
- *     cdef SIZE_t i
- *     cdef int bin_idx
- */
-
-#line 150 "root_numpy/src/hist.pyx"
-  __pyx_tuple__44 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(6, 150, __pyx_L1_error)
-
-#line 150 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__44);
-
-#line 150 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__44);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":229
+  __Pyx_GIVEREF(__pyx_tuple__33);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":272
  *             if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
- *                 and not PyArray_CHKFLAGS(self, NPY_C_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not C contiguous")             # <<<<<<<<<<<<<<
  *
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
  */

-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__45 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(10, 229, __pyx_L1_error)
-
-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__45);
-
-#line 229 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__45);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":233
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__34 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_C_contiguous); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(10, 272, __pyx_L1_error)
+
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__34);
+
+#line 272 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__34);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":276
  *             if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
- *                 and not PyArray_CHKFLAGS(self, NPY_F_CONTIGUOUS)):
+ *                 and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
  *                 raise ValueError(u"ndarray is not Fortran contiguous")             # <<<<<<<<<<<<<<
  *
  *             info.buf = PyArray_DATA(self)
  */

-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__46 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(10, 233, __pyx_L1_error)
-
-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__46);
-
-#line 233 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__46);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":263
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__35 = PyTuple_Pack(1, __pyx_kp_u_ndarray_is_not_Fortran_contiguou); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(10, 276, __pyx_L1_error)
+
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__35);
+
+#line 276 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__35);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":306
  *                 if ((descr.byteorder == c'>' and little_endian) or
  *                     (descr.byteorder == c'<' and not little_endian)):
  *                     raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
@@ -87202,16 +83907,16 @@
  *                 elif t == NPY_UBYTE:       f = "B"
  */

-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__47 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(10, 263, __pyx_L1_error)
-
-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__47);
-
-#line 263 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__47);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":810
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__36 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(10, 306, __pyx_L1_error)
+
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__36);
+
+#line 306 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__36);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":856
  *
  *         if (end - f) - <int>(new_offset - offset[0]) < 15:
  *             raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")             # <<<<<<<<<<<<<<
@@ -87219,33 +83924,16 @@
  *         if ((child.byteorder == c'>' and little_endian) or
  */

-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__48 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(10, 810, __pyx_L1_error)
-
-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__48);
-
-#line 810 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__48);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":814
- *         if ((child.byteorder == c'>' and little_endian) or
- *             (child.byteorder == c'<' and not little_endian)):
- *             raise ValueError(u"Non-native byte order not supported")             # <<<<<<<<<<<<<<
- *             # One could encode it in the format string and have Cython
- *             # complain instead, BUT: < and > in format strings also imply
- */
-
-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__49 = PyTuple_Pack(1, __pyx_kp_u_Non_native_byte_order_not_suppor); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(10, 814, __pyx_L1_error)
-
-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__49);
-
-#line 814 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__49);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":834
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__37 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(10, 856, __pyx_L1_error)
+
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__37);
+
+#line 856 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__37);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":880
  *             t = child.type_num
  *             if end - f < 5:
  *                 raise RuntimeError(u"Format string allocated too short.")             # <<<<<<<<<<<<<<
@@ -87253,16 +83941,16 @@
  *             # Until ticket #99 is fixed, use integers to avoid warnings
  */

-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__50 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(10, 834, __pyx_L1_error)
-
-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__50);
-
-#line 834 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__50);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1000
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__38 = PyTuple_Pack(1, __pyx_kp_u_Format_string_allocated_too_shor_2); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(10, 880, __pyx_L1_error)
+
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__38);
+
+#line 880 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__38);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1038
  *         _import_array()
  *     except Exception:
  *         raise ImportError("numpy.core.multiarray failed to import")             # <<<<<<<<<<<<<<
@@ -87270,16 +83958,16 @@
  * cdef inline int import_umath() except -1:
  */

-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__51 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(10, 1000, __pyx_L1_error)
-
-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__51);
-
-#line 1000 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__51);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1006
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__39 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_multiarray_failed_to); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(10, 1038, __pyx_L1_error)
+
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__39);
+
+#line 1038 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__39);
+
+  /* "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1044
  *         _import_umath()
  *     except Exception:
  *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
@@ -87287,29 +83975,14 @@
  * cdef inline int import_ufunc() except -1:
  */

-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__52 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(10, 1006, __pyx_L1_error)
-
-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__52);
-
-#line 1006 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__52);
-
-  /* "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd":1012
- *         _import_umath()
- *     except Exception:
- *         raise ImportError("numpy.core.umath failed to import")             # <<<<<<<<<<<<<<
- */
-
-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __pyx_tuple__53 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(10, 1012, __pyx_L1_error)
-
-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GOTREF(__pyx_tuple__53);
-
-#line 1012 "../../../alice/py3.7/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
-  __Pyx_GIVEREF(__pyx_tuple__53);
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __pyx_tuple__40 = PyTuple_Pack(1, __pyx_kp_s_numpy_core_umath_failed_to_impor); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(10, 1044, __pyx_L1_error)
+
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GOTREF(__pyx_tuple__40);
+
+#line 1044 "../../../../usr/lib/python3.7/site-packages/Cython/Includes/numpy/__init__.pxd"
+  __Pyx_GIVEREF(__pyx_tuple__40);

   /* "root_numpy/src/converters.pyx":4
  *
@@ -87320,13 +83993,13 @@
  */

 #line 4 "root_numpy/src/converters.pyx"
-  __pyx_tuple__54 = PyTuple_Pack(1, __pyx_kp_s_s_0_9); if (unlikely(!__pyx_tuple__54)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __pyx_tuple__41 = PyTuple_Pack(1, __pyx_kp_s_s_0_9); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(1, 4, __pyx_L1_error)

 #line 4 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__54);
+  __Pyx_GOTREF(__pyx_tuple__41);

 #line 4 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__54);
+  __Pyx_GIVEREF(__pyx_tuple__41);

   /* "root_numpy/src/converters.pyx":23
  *
@@ -87337,13 +84010,13 @@
  */

 #line 23 "root_numpy/src/converters.pyx"
-  __pyx_tuple__55 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_O); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(1, 23, __pyx_L1_error)
+  __pyx_tuple__42 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_O); if (unlikely(!__pyx_tuple__42)) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 23 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__55);
+  __Pyx_GOTREF(__pyx_tuple__42);

 #line 23 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__55);
+  __Pyx_GIVEREF(__pyx_tuple__42);

   /* "root_numpy/src/converters.pyx":24
  * TYPES_NUMPY2ROOT = {
@@ -87354,13 +84027,13 @@
  */

 #line 24 "root_numpy/src/converters.pyx"
-  __pyx_tuple__56 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_B); if (unlikely(!__pyx_tuple__56)) __PYX_ERR(1, 24, __pyx_L1_error)
+  __pyx_tuple__43 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_B); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(1, 24, __pyx_L1_error)

 #line 24 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__56);
+  __Pyx_GOTREF(__pyx_tuple__43);

 #line 24 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__56);
+  __Pyx_GIVEREF(__pyx_tuple__43);

   /* "root_numpy/src/converters.pyx":25
  *     np.dtype(np.bool):    (1, 'O'),
@@ -87371,13 +84044,13 @@
  */

 #line 25 "root_numpy/src/converters.pyx"
-  __pyx_tuple__57 = PyTuple_Pack(2, __pyx_int_2, __pyx_n_s_S); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(1, 25, __pyx_L1_error)
+  __pyx_tuple__44 = PyTuple_Pack(2, __pyx_int_2, __pyx_n_s_S); if (unlikely(!__pyx_tuple__44)) __PYX_ERR(1, 25, __pyx_L1_error)

 #line 25 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__57);
+  __Pyx_GOTREF(__pyx_tuple__44);

 #line 25 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__57);
+  __Pyx_GIVEREF(__pyx_tuple__44);

   /* "root_numpy/src/converters.pyx":26
  *     np.dtype(np.int8):    (1, 'B'),
@@ -87388,13 +84061,13 @@
  */

 #line 26 "root_numpy/src/converters.pyx"
-  __pyx_tuple__58 = PyTuple_Pack(2, __pyx_int_4, __pyx_n_s_I); if (unlikely(!__pyx_tuple__58)) __PYX_ERR(1, 26, __pyx_L1_error)
+  __pyx_tuple__45 = PyTuple_Pack(2, __pyx_int_4, __pyx_n_s_I); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(1, 26, __pyx_L1_error)

 #line 26 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__58);
+  __Pyx_GOTREF(__pyx_tuple__45);

 #line 26 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__58);
+  __Pyx_GIVEREF(__pyx_tuple__45);

   /* "root_numpy/src/converters.pyx":27
  *     np.dtype(np.int16):   (2, 'S'),
@@ -87405,13 +84078,13 @@
  */

 #line 27 "root_numpy/src/converters.pyx"
-  __pyx_tuple__59 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_L); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(1, 27, __pyx_L1_error)
+  __pyx_tuple__46 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_L); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(1, 27, __pyx_L1_error)

 #line 27 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__59);
+  __Pyx_GOTREF(__pyx_tuple__46);

 #line 27 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__59);
+  __Pyx_GIVEREF(__pyx_tuple__46);

   /* "root_numpy/src/converters.pyx":28
  *     np.dtype(np.int32):   (4, 'I'),
@@ -87422,13 +84095,13 @@
  */

 #line 28 "root_numpy/src/converters.pyx"
-  __pyx_tuple__60 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_b); if (unlikely(!__pyx_tuple__60)) __PYX_ERR(1, 28, __pyx_L1_error)
+  __pyx_tuple__47 = PyTuple_Pack(2, __pyx_int_1, __pyx_n_s_b); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(1, 28, __pyx_L1_error)

 #line 28 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__60);
+  __Pyx_GOTREF(__pyx_tuple__47);

 #line 28 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__60);
+  __Pyx_GIVEREF(__pyx_tuple__47);

   /* "root_numpy/src/converters.pyx":29
  *     np.dtype(np.int64):   (8, 'L'),
@@ -87439,13 +84112,13 @@
  */

 #line 29 "root_numpy/src/converters.pyx"
-  __pyx_tuple__61 = PyTuple_Pack(2, __pyx_int_2, __pyx_n_s_s); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(1, 29, __pyx_L1_error)
+  __pyx_tuple__48 = PyTuple_Pack(2, __pyx_int_2, __pyx_n_s_s); if (unlikely(!__pyx_tuple__48)) __PYX_ERR(1, 29, __pyx_L1_error)

 #line 29 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__61);
+  __Pyx_GOTREF(__pyx_tuple__48);

 #line 29 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__61);
+  __Pyx_GIVEREF(__pyx_tuple__48);

   /* "root_numpy/src/converters.pyx":30
  *     np.dtype(np.uint8):   (1, 'b'),
@@ -87456,13 +84129,13 @@
  */

 #line 30 "root_numpy/src/converters.pyx"
-  __pyx_tuple__62 = PyTuple_Pack(2, __pyx_int_4, __pyx_n_s_i); if (unlikely(!__pyx_tuple__62)) __PYX_ERR(1, 30, __pyx_L1_error)
+  __pyx_tuple__49 = PyTuple_Pack(2, __pyx_int_4, __pyx_n_s_i); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(1, 30, __pyx_L1_error)

 #line 30 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__62);
+  __Pyx_GOTREF(__pyx_tuple__49);

 #line 30 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__62);
+  __Pyx_GIVEREF(__pyx_tuple__49);

   /* "root_numpy/src/converters.pyx":31
  *     np.dtype(np.uint16):  (2, 's'),
@@ -87473,13 +84146,13 @@
  */

 #line 31 "root_numpy/src/converters.pyx"
-  __pyx_tuple__63 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_l); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(1, 31, __pyx_L1_error)
+  __pyx_tuple__50 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_l); if (unlikely(!__pyx_tuple__50)) __PYX_ERR(1, 31, __pyx_L1_error)

 #line 31 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__63);
+  __Pyx_GOTREF(__pyx_tuple__50);

 #line 31 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__63);
+  __Pyx_GIVEREF(__pyx_tuple__50);

   /* "root_numpy/src/converters.pyx":32
  *     np.dtype(np.uint32):  (4, 'i'),
@@ -87490,13 +84163,13 @@
  */

 #line 32 "root_numpy/src/converters.pyx"
-  __pyx_tuple__64 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_D); if (unlikely(!__pyx_tuple__64)) __PYX_ERR(1, 32, __pyx_L1_error)
+  __pyx_tuple__51 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_D); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(1, 32, __pyx_L1_error)

 #line 32 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__64);
+  __Pyx_GOTREF(__pyx_tuple__51);

 #line 32 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__64);
+  __Pyx_GIVEREF(__pyx_tuple__51);

   /* "root_numpy/src/converters.pyx":33
  *     np.dtype(np.uint64):  (8, 'l'),
@@ -87507,30 +84180,13 @@
  */

 #line 33 "root_numpy/src/converters.pyx"
-  __pyx_tuple__65 = PyTuple_Pack(2, __pyx_int_4, __pyx_n_s_F); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(1, 33, __pyx_L1_error)
+  __pyx_tuple__52 = PyTuple_Pack(2, __pyx_int_4, __pyx_n_s_F); if (unlikely(!__pyx_tuple__52)) __PYX_ERR(1, 33, __pyx_L1_error)

 #line 33 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__65);
+  __Pyx_GOTREF(__pyx_tuple__52);

 #line 33 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__65);
-
-  /* "root_numpy/src/converters.pyx":34
- *     np.dtype(np.float):   (8, 'D'),
- *     np.dtype(np.float32): (4, 'F'),
- *     np.dtype(np.float64): (8, 'D'),             # <<<<<<<<<<<<<<
- * }
- *
- */
-
-#line 34 "root_numpy/src/converters.pyx"
-  __pyx_tuple__66 = PyTuple_Pack(2, __pyx_int_8, __pyx_n_s_D); if (unlikely(!__pyx_tuple__66)) __PYX_ERR(1, 34, __pyx_L1_error)
-
-#line 34 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__66);
-
-#line 34 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__66);
+  __Pyx_GIVEREF(__pyx_tuple__52);

   /* "root_numpy/src/converters.pyx":671
  *
@@ -87541,16 +84197,16 @@
  */

 #line 671 "root_numpy/src/converters.pyx"
-  __pyx_tuple__67 = PyTuple_Pack(1, __pyx_n_s_it); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(1, 671, __pyx_L1_error)
+  __pyx_tuple__53 = PyTuple_Pack(1, __pyx_n_s_it); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(1, 671, __pyx_L1_error)

 #line 671 "root_numpy/src/converters.pyx"
-  __Pyx_GOTREF(__pyx_tuple__67);
+  __Pyx_GOTREF(__pyx_tuple__53);

 #line 671 "root_numpy/src/converters.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__67);
+  __Pyx_GIVEREF(__pyx_tuple__53);

 #line 671 "root_numpy/src/converters.pyx"
-  __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_converters_pyx, __pyx_n_s_cleanup, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(1, 671, __pyx_L1_error)
+  __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_converters_pyx, __pyx_n_s_cleanup, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(1, 671, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":39
  *
@@ -87561,16 +84217,16 @@
  */

 #line 39 "root_numpy/src/tree.pyx"
-  __pyx_tuple__69 = PyTuple_Pack(7, __pyx_n_s_fname, __pyx_n_s_types, __pyx_n_s_tclass, __pyx_n_s_classes, __pyx_n_s_clsname, __pyx_n_s_rfile, __pyx_n_s_objects); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(2, 39, __pyx_L1_error)
+  __pyx_tuple__55 = PyTuple_Pack(7, __pyx_n_s_fname, __pyx_n_s_types, __pyx_n_s_tclass, __pyx_n_s_classes, __pyx_n_s_clsname, __pyx_n_s_rfile, __pyx_n_s_objects); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(2, 39, __pyx_L1_error)

 #line 39 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__69);
+  __Pyx_GOTREF(__pyx_tuple__55);

 #line 39 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__69);
+  __Pyx_GIVEREF(__pyx_tuple__55);

 #line 39 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_objects, 39, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(2, 39, __pyx_L1_error)
+  __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_objects, 39, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(2, 39, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":59
  *
@@ -87581,16 +84237,16 @@
  */

 #line 59 "root_numpy/src/tree.pyx"
-  __pyx_tuple__71 = PyTuple_Pack(1, __pyx_n_s_fname); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(2, 59, __pyx_L1_error)
+  __pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_fname); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(2, 59, __pyx_L1_error)

 #line 59 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__71);
+  __Pyx_GOTREF(__pyx_tuple__57);

 #line 59 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__71);
+  __Pyx_GIVEREF(__pyx_tuple__57);

 #line 59 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_trees, 59, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(2, 59, __pyx_L1_error)
+  __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_trees, 59, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(2, 59, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":63
  *
@@ -87601,16 +84257,16 @@
  */

 #line 63 "root_numpy/src/tree.pyx"
-  __pyx_tuple__73 = PyTuple_Pack(1, __pyx_n_s_fname); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(2, 63, __pyx_L1_error)
+  __pyx_tuple__59 = PyTuple_Pack(1, __pyx_n_s_fname); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(2, 63, __pyx_L1_error)

 #line 63 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__73);
+  __Pyx_GOTREF(__pyx_tuple__59);

 #line 63 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__73);
+  __Pyx_GIVEREF(__pyx_tuple__59);

 #line 63 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_directories, 63, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(2, 63, __pyx_L1_error)
+  __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_directories, 63, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(2, 63, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":67
  *
@@ -87621,16 +84277,16 @@
  */

 #line 67 "root_numpy/src/tree.pyx"
-  __pyx_tuple__75 = PyTuple_Pack(5, __pyx_n_s_fname, __pyx_n_s_tree, __pyx_n_s_rfile, __pyx_n_s_rtree, __pyx_n_s_structure); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(2, 67, __pyx_L1_error)
+  __pyx_tuple__61 = PyTuple_Pack(5, __pyx_n_s_fname, __pyx_n_s_tree, __pyx_n_s_rfile, __pyx_n_s_rtree, __pyx_n_s_structure); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(2, 67, __pyx_L1_error)

 #line 67 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__75);
+  __Pyx_GOTREF(__pyx_tuple__61);

 #line 67 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__75);
+  __Pyx_GIVEREF(__pyx_tuple__61);

 #line 67 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_structures, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(2, 67, __pyx_L1_error)
+  __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_structures, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(2, 67, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":86
  *
@@ -87641,16 +84297,16 @@
  */

 #line 86 "root_numpy/src/tree.pyx"
-  __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_fname, __pyx_n_s_tree); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(2, 86, __pyx_L1_error)
+  __pyx_tuple__63 = PyTuple_Pack(2, __pyx_n_s_fname, __pyx_n_s_tree); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(2, 86, __pyx_L1_error)

 #line 86 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__77);
+  __Pyx_GOTREF(__pyx_tuple__63);

 #line 86 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__77);
+  __Pyx_GIVEREF(__pyx_tuple__63);

 #line 86 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_branches, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(2, 86, __pyx_L1_error)
+  __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_list_branches, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(2, 86, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":599
  *
@@ -87661,16 +84317,16 @@
  */

 #line 599 "root_numpy/src/tree.pyx"
-  __pyx_tuple__79 = PyTuple_Pack(17, __pyx_n_s_fnames, __pyx_n_s_treename, __pyx_n_s_branches, __pyx_n_s_selection, __pyx_n_s_object_selection, __pyx_n_s_start, __pyx_n_s_stop, __pyx_n_s_step, __pyx_n_s_include_weight, __pyx_n_s_weight_name, __pyx_n_s_cache_size, __pyx_n_s_warn_missing_tree, __pyx_n_s_rfile, __pyx_n_s_tree, __pyx_n_s_chain, __pyx_n_s_fn, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(2, 599, __pyx_L1_error)
+  __pyx_tuple__65 = PyTuple_Pack(17, __pyx_n_s_fnames, __pyx_n_s_treename, __pyx_n_s_branches, __pyx_n_s_selection, __pyx_n_s_object_selection, __pyx_n_s_start, __pyx_n_s_stop, __pyx_n_s_step, __pyx_n_s_include_weight, __pyx_n_s_weight_name, __pyx_n_s_cache_size, __pyx_n_s_warn_missing_tree, __pyx_n_s_rfile, __pyx_n_s_tree, __pyx_n_s_chain, __pyx_n_s_fn, __pyx_n_s_ret); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(2, 599, __pyx_L1_error)

 #line 599 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__79);
+  __Pyx_GOTREF(__pyx_tuple__65);

 #line 599 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__79);
+  __Pyx_GIVEREF(__pyx_tuple__65);

 #line 599 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(12, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_root2array_fromfile, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(2, 599, __pyx_L1_error)
+  __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(12, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_root2array_fromfile, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(2, 599, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":639
  *
@@ -87681,16 +84337,16 @@
  */

 #line 639 "root_numpy/src/tree.pyx"
-  __pyx_tuple__81 = PyTuple_Pack(11, __pyx_n_s_tree, __pyx_n_s_branches, __pyx_n_s_selection, __pyx_n_s_object_selection, __pyx_n_s_start, __pyx_n_s_stop, __pyx_n_s_step, __pyx_n_s_include_weight, __pyx_n_s_weight_name, __pyx_n_s_cache_size, __pyx_n_s_rtree); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(2, 639, __pyx_L1_error)
+  __pyx_tuple__67 = PyTuple_Pack(11, __pyx_n_s_tree, __pyx_n_s_branches, __pyx_n_s_selection, __pyx_n_s_object_selection, __pyx_n_s_start, __pyx_n_s_stop, __pyx_n_s_step, __pyx_n_s_include_weight, __pyx_n_s_weight_name, __pyx_n_s_cache_size, __pyx_n_s_rtree); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(2, 639, __pyx_L1_error)

 #line 639 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__81);
+  __Pyx_GOTREF(__pyx_tuple__67);

 #line 639 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__81);
+  __Pyx_GIVEREF(__pyx_tuple__67);

 #line 639 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(10, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_root2array_fromtree, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(2, 639, __pyx_L1_error)
+  __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(10, 0, 11, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_root2array_fromtree, 639, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(2, 639, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":711
  *
@@ -87701,16 +84357,16 @@
  */

 #line 711 "root_numpy/src/tree.pyx"
-  __pyx_tuple__83 = PyTuple_Pack(5, __pyx_n_s_arr, __pyx_n_s_name, __pyx_n_s_tree, __pyx_n_s_intree, __pyx_n_s_outtree); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(2, 711, __pyx_L1_error)
+  __pyx_tuple__69 = PyTuple_Pack(5, __pyx_n_s_arr, __pyx_n_s_name, __pyx_n_s_tree, __pyx_n_s_intree, __pyx_n_s_outtree); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(2, 711, __pyx_L1_error)

 #line 711 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__83);
+  __Pyx_GOTREF(__pyx_tuple__69);

 #line 711 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__83);
+  __Pyx_GIVEREF(__pyx_tuple__69);

 #line 711 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_array2tree_toCObj, 711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(2, 711, __pyx_L1_error)
+  __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_array2tree_toCObj, 711, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(2, 711, __pyx_L1_error)

   /* "root_numpy/src/tree.pyx":720
  *
@@ -87721,16 +84377,16 @@
  */

 #line 720 "root_numpy/src/tree.pyx"
-  __pyx_tuple__85 = PyTuple_Pack(6, __pyx_n_s_arr, __pyx_n_s_filename, __pyx_n_s_treename, __pyx_n_s_mode, __pyx_n_s_rfile, __pyx_n_s_tree); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(2, 720, __pyx_L1_error)
+  __pyx_tuple__71 = PyTuple_Pack(17, __pyx_n_s_arr, __pyx_n_s_filename, __pyx_n_s_treename, __pyx_n_s_mode, __pyx_n_s_rfile, __pyx_n_s_tdf, __pyx_n_s_key, __pyx_n_s_keys, __pyx_n_s_tree, __pyx_n_s_dirs, __pyx_n_s_tname, __pyx_n_s_path, __pyx_n_s_i, __pyx_n_s_d, __pyx_n_s_j, __pyx_n_s_clsname, __pyx_n_s_clsToCreate); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(2, 720, __pyx_L1_error)

 #line 720 "root_numpy/src/tree.pyx"
-  __Pyx_GOTREF(__pyx_tuple__85);
+  __Pyx_GOTREF(__pyx_tuple__71);

 #line 720 "root_numpy/src/tree.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__85);
+  __Pyx_GIVEREF(__pyx_tuple__71);

 #line 720 "root_numpy/src/tree.pyx"
-  __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(4, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_array2root, 720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(2, 720, __pyx_L1_error)
+  __pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(4, 0, 17, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_tree_pyx, __pyx_n_s_array2root, 720, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(2, 720, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":10
  *
@@ -87741,16 +84397,16 @@
  */

 #line 10 "root_numpy/src/array.pyx"
-  __pyx_tuple__87 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(3, 10, __pyx_L1_error)
+  __pyx_tuple__73 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(3, 10, __pyx_L1_error)

 #line 10 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__87);
+  __Pyx_GOTREF(__pyx_tuple__73);

 #line 10 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__87);
+  __Pyx_GIVEREF(__pyx_tuple__73);

 #line 10 "root_numpy/src/array.pyx"
-  __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_d, 10, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(3, 10, __pyx_L1_error)
+  __pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_d, 10, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(3, 10, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":15
  *
@@ -87761,16 +84417,16 @@
  */

 #line 15 "root_numpy/src/array.pyx"
-  __pyx_tuple__89 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(3, 15, __pyx_L1_error)
+  __pyx_tuple__75 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(3, 15, __pyx_L1_error)

 #line 15 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__89);
+  __Pyx_GOTREF(__pyx_tuple__75);

 #line 15 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__89);
+  __Pyx_GIVEREF(__pyx_tuple__75);

 #line 15 "root_numpy/src/array.pyx"
-  __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_f, 15, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(3, 15, __pyx_L1_error)
+  __pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_f, 15, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(3, 15, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":20
  *
@@ -87781,16 +84437,16 @@
  */

 #line 20 "root_numpy/src/array.pyx"
-  __pyx_tuple__91 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(3, 20, __pyx_L1_error)
+  __pyx_tuple__77 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(3, 20, __pyx_L1_error)

 #line 20 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__91);
+  __Pyx_GOTREF(__pyx_tuple__77);

 #line 20 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__91);
+  __Pyx_GIVEREF(__pyx_tuple__77);

 #line 20 "root_numpy/src/array.pyx"
-  __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_l, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(3, 20, __pyx_L1_error)
+  __pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_l, 20, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(3, 20, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":25
  *
@@ -87801,16 +84457,16 @@
  */

 #line 25 "root_numpy/src/array.pyx"
-  __pyx_tuple__93 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(3, 25, __pyx_L1_error)
+  __pyx_tuple__79 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(3, 25, __pyx_L1_error)

 #line 25 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__93);
+  __Pyx_GOTREF(__pyx_tuple__79);

 #line 25 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__93);
+  __Pyx_GIVEREF(__pyx_tuple__79);

 #line 25 "root_numpy/src/array.pyx"
-  __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_i, 25, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) __PYX_ERR(3, 25, __pyx_L1_error)
+  __pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_i, 25, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(3, 25, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":30
  *
@@ -87821,16 +84477,16 @@
  */

 #line 30 "root_numpy/src/array.pyx"
-  __pyx_tuple__95 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(3, 30, __pyx_L1_error)
+  __pyx_tuple__81 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(3, 30, __pyx_L1_error)

 #line 30 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__95);
+  __Pyx_GOTREF(__pyx_tuple__81);

 #line 30 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__95);
+  __Pyx_GIVEREF(__pyx_tuple__81);

 #line 30 "root_numpy/src/array.pyx"
-  __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_s, 30, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(3, 30, __pyx_L1_error)
+  __pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_s, 30, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(3, 30, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":35
  *
@@ -87841,16 +84497,16 @@
  */

 #line 35 "root_numpy/src/array.pyx"
-  __pyx_tuple__97 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(3, 35, __pyx_L1_error)
+  __pyx_tuple__83 = PyTuple_Pack(2, __pyx_n_s_root_arr, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(3, 35, __pyx_L1_error)

 #line 35 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__97);
+  __Pyx_GOTREF(__pyx_tuple__83);

 #line 35 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__97);
+  __Pyx_GIVEREF(__pyx_tuple__83);

 #line 35 "root_numpy/src/array.pyx"
-  __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_c, 35, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(3, 35, __pyx_L1_error)
+  __pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_c, 35, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(3, 35, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":40
  *
@@ -87861,16 +84517,16 @@
  */

 #line 40 "root_numpy/src/array.pyx"
-  __pyx_tuple__99 = PyTuple_Pack(3, __pyx_n_s_root_hist, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(3, 40, __pyx_L1_error)
+  __pyx_tuple__85 = PyTuple_Pack(3, __pyx_n_s_root_hist, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(3, 40, __pyx_L1_error)

 #line 40 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__99);
+  __Pyx_GOTREF(__pyx_tuple__85);

 #line 40 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__99);
+  __Pyx_GIVEREF(__pyx_tuple__85);

 #line 40 "root_numpy/src/array.pyx"
-  __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_h1c, 40, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(3, 40, __pyx_L1_error)
+  __pyx_codeobj__86 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__85, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_h1c, 40, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__86)) __PYX_ERR(3, 40, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":46
  *
@@ -87881,16 +84537,16 @@
  */

 #line 46 "root_numpy/src/array.pyx"
-  __pyx_tuple__101 = PyTuple_Pack(3, __pyx_n_s_root_hist, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(3, 46, __pyx_L1_error)
+  __pyx_tuple__87 = PyTuple_Pack(3, __pyx_n_s_root_hist, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__87)) __PYX_ERR(3, 46, __pyx_L1_error)

 #line 46 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__101);
+  __Pyx_GOTREF(__pyx_tuple__87);

 #line 46 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__101);
+  __Pyx_GIVEREF(__pyx_tuple__87);

 #line 46 "root_numpy/src/array.pyx"
-  __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_h2c, 46, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) __PYX_ERR(3, 46, __pyx_L1_error)
+  __pyx_codeobj__88 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__87, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_h2c, 46, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__88)) __PYX_ERR(3, 46, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":52
  *
@@ -87901,16 +84557,16 @@
  */

 #line 52 "root_numpy/src/array.pyx"
-  __pyx_tuple__103 = PyTuple_Pack(3, __pyx_n_s_root_hist, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(3, 52, __pyx_L1_error)
+  __pyx_tuple__89 = PyTuple_Pack(3, __pyx_n_s_root_hist, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(3, 52, __pyx_L1_error)

 #line 52 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__103);
+  __Pyx_GOTREF(__pyx_tuple__89);

 #line 52 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__103);
+  __Pyx_GIVEREF(__pyx_tuple__89);

 #line 52 "root_numpy/src/array.pyx"
-  __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_h3c, 52, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(3, 52, __pyx_L1_error)
+  __pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_array_h3c, 52, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(3, 52, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":62
  * @cython.boundscheck(False)
@@ -87921,16 +84577,16 @@
  */

 #line 62 "root_numpy/src/array.pyx"
-  __pyx_tuple__105 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(3, 62, __pyx_L1_error)
+  __pyx_tuple__91 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(3, 62, __pyx_L1_error)

 #line 62 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__105);
+  __Pyx_GOTREF(__pyx_tuple__91);

 #line 62 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__105);
+  __Pyx_GIVEREF(__pyx_tuple__91);

 #line 62 "root_numpy/src/array.pyx"
-  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1d_array, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(3, 62, __pyx_L1_error)
+  __pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1d_array, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(3, 62, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":70
  * @cython.boundscheck(False)
@@ -87941,16 +84597,16 @@
  */

 #line 70 "root_numpy/src/array.pyx"
-  __pyx_tuple__107 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(3, 70, __pyx_L1_error)
+  __pyx_tuple__93 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(3, 70, __pyx_L1_error)

 #line 70 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__107);
+  __Pyx_GOTREF(__pyx_tuple__93);

 #line 70 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__107);
+  __Pyx_GIVEREF(__pyx_tuple__93);

 #line 70 "root_numpy/src/array.pyx"
-  __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2d_array, 70, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(3, 70, __pyx_L1_error)
+  __pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2d_array, 70, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) __PYX_ERR(3, 70, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":78
  * @cython.boundscheck(False)
@@ -87961,16 +84617,16 @@
  */

 #line 78 "root_numpy/src/array.pyx"
-  __pyx_tuple__109 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(3, 78, __pyx_L1_error)
+  __pyx_tuple__95 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(3, 78, __pyx_L1_error)

 #line 78 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__109);
+  __Pyx_GOTREF(__pyx_tuple__95);

 #line 78 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__109);
+  __Pyx_GIVEREF(__pyx_tuple__95);

 #line 78 "root_numpy/src/array.pyx"
-  __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3d_array, 78, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) __PYX_ERR(3, 78, __pyx_L1_error)
+  __pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3d_array, 78, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(3, 78, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":86
  * @cython.boundscheck(False)
@@ -87981,16 +84637,16 @@
  */

 #line 86 "root_numpy/src/array.pyx"
-  __pyx_tuple__111 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(3, 86, __pyx_L1_error)
+  __pyx_tuple__97 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(3, 86, __pyx_L1_error)

 #line 86 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__111);
+  __Pyx_GOTREF(__pyx_tuple__97);

 #line 86 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__111);
+  __Pyx_GIVEREF(__pyx_tuple__97);

 #line 86 "root_numpy/src/array.pyx"
-  __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1f_array, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(3, 86, __pyx_L1_error)
+  __pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1f_array, 86, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(3, 86, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":94
  * @cython.boundscheck(False)
@@ -88001,16 +84657,16 @@
  */

 #line 94 "root_numpy/src/array.pyx"
-  __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(3, 94, __pyx_L1_error)
+  __pyx_tuple__99 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(3, 94, __pyx_L1_error)

 #line 94 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__113);
+  __Pyx_GOTREF(__pyx_tuple__99);

 #line 94 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__113);
+  __Pyx_GIVEREF(__pyx_tuple__99);

 #line 94 "root_numpy/src/array.pyx"
-  __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2f_array, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(3, 94, __pyx_L1_error)
+  __pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2f_array, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(3, 94, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":102
  * @cython.boundscheck(False)
@@ -88021,16 +84677,16 @@
  */

 #line 102 "root_numpy/src/array.pyx"
-  __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(3, 102, __pyx_L1_error)
+  __pyx_tuple__101 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(3, 102, __pyx_L1_error)

 #line 102 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__115);
+  __Pyx_GOTREF(__pyx_tuple__101);

 #line 102 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__115);
+  __Pyx_GIVEREF(__pyx_tuple__101);

 #line 102 "root_numpy/src/array.pyx"
-  __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3f_array, 102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(3, 102, __pyx_L1_error)
+  __pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3f_array, 102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) __PYX_ERR(3, 102, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":110
  * @cython.boundscheck(False)
@@ -88041,16 +84697,16 @@
  */

 #line 110 "root_numpy/src/array.pyx"
-  __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(3, 110, __pyx_L1_error)
+  __pyx_tuple__103 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(3, 110, __pyx_L1_error)

 #line 110 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__117);
+  __Pyx_GOTREF(__pyx_tuple__103);

 #line 110 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__117);
+  __Pyx_GIVEREF(__pyx_tuple__103);

 #line 110 "root_numpy/src/array.pyx"
-  __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1i_array, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) __PYX_ERR(3, 110, __pyx_L1_error)
+  __pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1i_array, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(3, 110, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":118
  * @cython.boundscheck(False)
@@ -88061,16 +84717,16 @@
  */

 #line 118 "root_numpy/src/array.pyx"
-  __pyx_tuple__119 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(3, 118, __pyx_L1_error)
+  __pyx_tuple__105 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(3, 118, __pyx_L1_error)

 #line 118 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__119);
+  __Pyx_GOTREF(__pyx_tuple__105);

 #line 118 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__119);
+  __Pyx_GIVEREF(__pyx_tuple__105);

 #line 118 "root_numpy/src/array.pyx"
-  __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2i_array, 118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(3, 118, __pyx_L1_error)
+  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2i_array, 118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(3, 118, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":126
  * @cython.boundscheck(False)
@@ -88081,16 +84737,16 @@
  */

 #line 126 "root_numpy/src/array.pyx"
-  __pyx_tuple__121 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(3, 126, __pyx_L1_error)
+  __pyx_tuple__107 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(3, 126, __pyx_L1_error)

 #line 126 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__121);
+  __Pyx_GOTREF(__pyx_tuple__107);

 #line 126 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__121);
+  __Pyx_GIVEREF(__pyx_tuple__107);

 #line 126 "root_numpy/src/array.pyx"
-  __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3i_array, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(3, 126, __pyx_L1_error)
+  __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3i_array, 126, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(3, 126, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":134
  * @cython.boundscheck(False)
@@ -88101,16 +84757,16 @@
  */

 #line 134 "root_numpy/src/array.pyx"
-  __pyx_tuple__123 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(3, 134, __pyx_L1_error)
+  __pyx_tuple__109 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(3, 134, __pyx_L1_error)

 #line 134 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__123);
+  __Pyx_GOTREF(__pyx_tuple__109);

 #line 134 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__123);
+  __Pyx_GIVEREF(__pyx_tuple__109);

 #line 134 "root_numpy/src/array.pyx"
-  __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1s_array, 134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(3, 134, __pyx_L1_error)
+  __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1s_array, 134, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) __PYX_ERR(3, 134, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":142
  * @cython.boundscheck(False)
@@ -88121,16 +84777,16 @@
  */

 #line 142 "root_numpy/src/array.pyx"
-  __pyx_tuple__125 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(3, 142, __pyx_L1_error)
+  __pyx_tuple__111 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(3, 142, __pyx_L1_error)

 #line 142 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__125);
+  __Pyx_GOTREF(__pyx_tuple__111);

 #line 142 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__125);
+  __Pyx_GIVEREF(__pyx_tuple__111);

 #line 142 "root_numpy/src/array.pyx"
-  __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2s_array, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(3, 142, __pyx_L1_error)
+  __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2s_array, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(3, 142, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":150
  * @cython.boundscheck(False)
@@ -88141,16 +84797,16 @@
  */

 #line 150 "root_numpy/src/array.pyx"
-  __pyx_tuple__127 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(3, 150, __pyx_L1_error)
+  __pyx_tuple__113 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(3, 150, __pyx_L1_error)

 #line 150 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__127);
+  __Pyx_GOTREF(__pyx_tuple__113);

 #line 150 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__127);
+  __Pyx_GIVEREF(__pyx_tuple__113);

 #line 150 "root_numpy/src/array.pyx"
-  __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3s_array, 150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) __PYX_ERR(3, 150, __pyx_L1_error)
+  __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3s_array, 150, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(3, 150, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":158
  * @cython.boundscheck(False)
@@ -88161,16 +84817,16 @@
  */

 #line 158 "root_numpy/src/array.pyx"
-  __pyx_tuple__129 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(3, 158, __pyx_L1_error)
+  __pyx_tuple__115 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(3, 158, __pyx_L1_error)

 #line 158 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__129);
+  __Pyx_GOTREF(__pyx_tuple__115);

 #line 158 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__129);
+  __Pyx_GIVEREF(__pyx_tuple__115);

 #line 158 "root_numpy/src/array.pyx"
-  __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1c_array, 158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(3, 158, __pyx_L1_error)
+  __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h1c_array, 158, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(3, 158, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":166
  * @cython.boundscheck(False)
@@ -88181,16 +84837,16 @@
  */

 #line 166 "root_numpy/src/array.pyx"
-  __pyx_tuple__131 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(3, 166, __pyx_L1_error)
+  __pyx_tuple__117 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(3, 166, __pyx_L1_error)

 #line 166 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__131);
+  __Pyx_GOTREF(__pyx_tuple__117);

 #line 166 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__131);
+  __Pyx_GIVEREF(__pyx_tuple__117);

 #line 166 "root_numpy/src/array.pyx"
-  __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2c_array, 166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(3, 166, __pyx_L1_error)
+  __pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h2c_array, 166, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) __PYX_ERR(3, 166, __pyx_L1_error)

   /* "root_numpy/src/array.pyx":174
  * @cython.boundscheck(False)
@@ -88201,16 +84857,16 @@
  */

 #line 174 "root_numpy/src/array.pyx"
-  __pyx_tuple__133 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(3, 174, __pyx_L1_error)
+  __pyx_tuple__119 = PyTuple_Pack(4, __pyx_n_s_root_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_arr_2); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(3, 174, __pyx_L1_error)

 #line 174 "root_numpy/src/array.pyx"
-  __Pyx_GOTREF(__pyx_tuple__133);
+  __Pyx_GOTREF(__pyx_tuple__119);

 #line 174 "root_numpy/src/array.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__133);
+  __Pyx_GIVEREF(__pyx_tuple__119);

 #line 174 "root_numpy/src/array.pyx"
-  __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3c_array, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) __PYX_ERR(3, 174, __pyx_L1_error)
+  __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_array_pyx, __pyx_n_s_h3c_array, 174, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(3, 174, __pyx_L1_error)

   /* "root_numpy/src/matrix.pyx":6
  * @cython.boundscheck(False)
@@ -88221,16 +84877,16 @@
  */

 #line 6 "root_numpy/src/matrix.pyx"
-  __pyx_tuple__135 = PyTuple_Pack(5, __pyx_n_s_root_mat, __pyx_n_s_mat, __pyx_n_s_arr, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(4, 6, __pyx_L1_error)
+  __pyx_tuple__121 = PyTuple_Pack(5, __pyx_n_s_root_mat, __pyx_n_s_mat, __pyx_n_s_arr, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(4, 6, __pyx_L1_error)

 #line 6 "root_numpy/src/matrix.pyx"
-  __Pyx_GOTREF(__pyx_tuple__135);
+  __Pyx_GOTREF(__pyx_tuple__121);

 #line 6 "root_numpy/src/matrix.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__135);
+  __Pyx_GIVEREF(__pyx_tuple__121);

 #line 6 "root_numpy/src/matrix.pyx"
-  __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_matrix_pyx, __pyx_n_s_matrix_d, 6, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) __PYX_ERR(4, 6, __pyx_L1_error)
+  __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__121, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_matrix_pyx, __pyx_n_s_matrix_d, 6, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) __PYX_ERR(4, 6, __pyx_L1_error)

   /* "root_numpy/src/matrix.pyx":19
  * @cython.boundscheck(False)
@@ -88241,16 +84897,16 @@
  */

 #line 19 "root_numpy/src/matrix.pyx"
-  __pyx_tuple__137 = PyTuple_Pack(5, __pyx_n_s_root_mat, __pyx_n_s_mat, __pyx_n_s_arr, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(4, 19, __pyx_L1_error)
+  __pyx_tuple__123 = PyTuple_Pack(5, __pyx_n_s_root_mat, __pyx_n_s_mat, __pyx_n_s_arr, __pyx_n_s_i, __pyx_n_s_j); if (unlikely(!__pyx_tuple__123)) __PYX_ERR(4, 19, __pyx_L1_error)

 #line 19 "root_numpy/src/matrix.pyx"
-  __Pyx_GOTREF(__pyx_tuple__137);
+  __Pyx_GOTREF(__pyx_tuple__123);

 #line 19 "root_numpy/src/matrix.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__137);
+  __Pyx_GIVEREF(__pyx_tuple__123);

 #line 19 "root_numpy/src/matrix.pyx"
-  __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_matrix_pyx, __pyx_n_s_matrix_f, 19, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) __PYX_ERR(4, 19, __pyx_L1_error)
+  __pyx_codeobj__124 = (PyObject*)__Pyx_PyCode_New(1, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__123, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_matrix_pyx, __pyx_n_s_matrix_f, 19, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__124)) __PYX_ERR(4, 19, __pyx_L1_error)

   /* "root_numpy/src/sample.pyx":6
  * @cython.boundscheck(False)
@@ -88261,16 +84917,16 @@
  */

 #line 6 "root_numpy/src/sample.pyx"
-  __pyx_tuple__139 = PyTuple_Pack(5, __pyx_n_s_f1, __pyx_n_s_n_samples, __pyx_n_s_f1_2, __pyx_n_s_i, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(5, 6, __pyx_L1_error)
+  __pyx_tuple__125 = PyTuple_Pack(5, __pyx_n_s_f1, __pyx_n_s_n_samples, __pyx_n_s_f1_2, __pyx_n_s_i, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(5, 6, __pyx_L1_error)

 #line 6 "root_numpy/src/sample.pyx"
-  __Pyx_GOTREF(__pyx_tuple__139);
+  __Pyx_GOTREF(__pyx_tuple__125);

 #line 6 "root_numpy/src/sample.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__139);
+  __Pyx_GIVEREF(__pyx_tuple__125);

 #line 6 "root_numpy/src/sample.pyx"
-  __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_f1, 6, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(5, 6, __pyx_L1_error)
+  __pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_f1, 6, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(5, 6, __pyx_L1_error)

   /* "root_numpy/src/sample.pyx":17
  * @cython.boundscheck(False)
@@ -88281,16 +84937,16 @@
  */

 #line 17 "root_numpy/src/sample.pyx"
-  __pyx_tuple__141 = PyTuple_Pack(5, __pyx_n_s_h1, __pyx_n_s_n_samples, __pyx_n_s_h1_2, __pyx_n_s_i, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(5, 17, __pyx_L1_error)
+  __pyx_tuple__127 = PyTuple_Pack(5, __pyx_n_s_h1, __pyx_n_s_n_samples, __pyx_n_s_h1_2, __pyx_n_s_i, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(5, 17, __pyx_L1_error)

 #line 17 "root_numpy/src/sample.pyx"
-  __Pyx_GOTREF(__pyx_tuple__141);
+  __Pyx_GOTREF(__pyx_tuple__127);

 #line 17 "root_numpy/src/sample.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__141);
+  __Pyx_GIVEREF(__pyx_tuple__127);

 #line 17 "root_numpy/src/sample.pyx"
-  __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_h1, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(5, 17, __pyx_L1_error)
+  __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__127, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_h1, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) __PYX_ERR(5, 17, __pyx_L1_error)

   /* "root_numpy/src/sample.pyx":28
  * @cython.boundscheck(False)
@@ -88301,16 +84957,16 @@
  */

 #line 28 "root_numpy/src/sample.pyx"
-  __pyx_tuple__143 = PyTuple_Pack(7, __pyx_n_s_f2, __pyx_n_s_n_samples, __pyx_n_s_f2_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(5, 28, __pyx_L1_error)
+  __pyx_tuple__129 = PyTuple_Pack(7, __pyx_n_s_f2, __pyx_n_s_n_samples, __pyx_n_s_f2_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__129)) __PYX_ERR(5, 28, __pyx_L1_error)

 #line 28 "root_numpy/src/sample.pyx"
-  __Pyx_GOTREF(__pyx_tuple__143);
+  __Pyx_GOTREF(__pyx_tuple__129);

 #line 28 "root_numpy/src/sample.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__143);
+  __Pyx_GIVEREF(__pyx_tuple__129);

 #line 28 "root_numpy/src/sample.pyx"
-  __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_f2, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(5, 28, __pyx_L1_error)
+  __pyx_codeobj__130 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__129, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_f2, 28, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__130)) __PYX_ERR(5, 28, __pyx_L1_error)

   /* "root_numpy/src/sample.pyx":43
  * @cython.boundscheck(False)
@@ -88321,16 +84977,16 @@
  */

 #line 43 "root_numpy/src/sample.pyx"
-  __pyx_tuple__145 = PyTuple_Pack(7, __pyx_n_s_h2, __pyx_n_s_n_samples, __pyx_n_s_h2_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(5, 43, __pyx_L1_error)
+  __pyx_tuple__131 = PyTuple_Pack(7, __pyx_n_s_h2, __pyx_n_s_n_samples, __pyx_n_s_h2_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__131)) __PYX_ERR(5, 43, __pyx_L1_error)

 #line 43 "root_numpy/src/sample.pyx"
-  __Pyx_GOTREF(__pyx_tuple__145);
+  __Pyx_GOTREF(__pyx_tuple__131);

 #line 43 "root_numpy/src/sample.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__145);
+  __Pyx_GIVEREF(__pyx_tuple__131);

 #line 43 "root_numpy/src/sample.pyx"
-  __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_h2, 43, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(5, 43, __pyx_L1_error)
+  __pyx_codeobj__132 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__131, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_h2, 43, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__132)) __PYX_ERR(5, 43, __pyx_L1_error)

   /* "root_numpy/src/sample.pyx":58
  * @cython.boundscheck(False)
@@ -88341,16 +84997,16 @@
  */

 #line 58 "root_numpy/src/sample.pyx"
-  __pyx_tuple__147 = PyTuple_Pack(8, __pyx_n_s_f3, __pyx_n_s_n_samples, __pyx_n_s_f3_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(5, 58, __pyx_L1_error)
+  __pyx_tuple__133 = PyTuple_Pack(8, __pyx_n_s_f3, __pyx_n_s_n_samples, __pyx_n_s_f3_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__133)) __PYX_ERR(5, 58, __pyx_L1_error)

 #line 58 "root_numpy/src/sample.pyx"
-  __Pyx_GOTREF(__pyx_tuple__147);
+  __Pyx_GOTREF(__pyx_tuple__133);

 #line 58 "root_numpy/src/sample.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__147);
+  __Pyx_GIVEREF(__pyx_tuple__133);

 #line 58 "root_numpy/src/sample.pyx"
-  __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_f3, 58, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) __PYX_ERR(5, 58, __pyx_L1_error)
+  __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_f3, 58, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) __PYX_ERR(5, 58, __pyx_L1_error)

   /* "root_numpy/src/sample.pyx":75
  * @cython.boundscheck(False)
@@ -88361,16 +85017,16 @@
  */

 #line 75 "root_numpy/src/sample.pyx"
-  __pyx_tuple__149 = PyTuple_Pack(8, __pyx_n_s_h3, __pyx_n_s_n_samples, __pyx_n_s_h3_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(5, 75, __pyx_L1_error)
+  __pyx_tuple__135 = PyTuple_Pack(8, __pyx_n_s_h3, __pyx_n_s_n_samples, __pyx_n_s_h3_2, __pyx_n_s_i, __pyx_n_s_x, __pyx_n_s_y, __pyx_n_s_z, __pyx_n_s_arr); if (unlikely(!__pyx_tuple__135)) __PYX_ERR(5, 75, __pyx_L1_error)

 #line 75 "root_numpy/src/sample.pyx"
-  __Pyx_GOTREF(__pyx_tuple__149);
+  __Pyx_GOTREF(__pyx_tuple__135);

 #line 75 "root_numpy/src/sample.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__149);
+  __Pyx_GIVEREF(__pyx_tuple__135);

 #line 75 "root_numpy/src/sample.pyx"
-  __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_h3, 75, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(5, 75, __pyx_L1_error)
+  __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(2, 0, 8, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__135, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_sample_pyx, __pyx_n_s_sample_h3, 75, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) __PYX_ERR(5, 75, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":3
  * @cython.boundscheck(False)
@@ -88381,16 +85037,16 @@
  */

 #line 3 "root_numpy/src/hist.pyx"
-  __pyx_tuple__151 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(6, 3, __pyx_L1_error)
+  __pyx_tuple__137 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__137)) __PYX_ERR(6, 3, __pyx_L1_error)

 #line 3 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__151);
+  __Pyx_GOTREF(__pyx_tuple__137);

 #line 3 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__151);
+  __Pyx_GIVEREF(__pyx_tuple__137);

 #line 3 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_h1, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(6, 3, __pyx_L1_error)
+  __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__137, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_h1, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) __PYX_ERR(6, 3, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":31
  * @cython.boundscheck(False)
@@ -88401,16 +85057,16 @@
  */

 #line 31 "root_numpy/src/hist.pyx"
-  __pyx_tuple__153 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(6, 31, __pyx_L1_error)
+  __pyx_tuple__139 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__139)) __PYX_ERR(6, 31, __pyx_L1_error)

 #line 31 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__153);
+  __Pyx_GOTREF(__pyx_tuple__139);

 #line 31 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__153);
+  __Pyx_GIVEREF(__pyx_tuple__139);

 #line 31 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_h2, 31, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(6, 31, __pyx_L1_error)
+  __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_h2, 31, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) __PYX_ERR(6, 31, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":59
  * @cython.boundscheck(False)
@@ -88421,16 +85077,16 @@
  */

 #line 59 "root_numpy/src/hist.pyx"
-  __pyx_tuple__155 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(6, 59, __pyx_L1_error)
+  __pyx_tuple__141 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__141)) __PYX_ERR(6, 59, __pyx_L1_error)

 #line 59 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__155);
+  __Pyx_GOTREF(__pyx_tuple__141);

 #line 59 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__155);
+  __Pyx_GIVEREF(__pyx_tuple__141);

 #line 59 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_h3, 59, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(6, 59, __pyx_L1_error)
+  __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_h3, 59, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) __PYX_ERR(6, 59, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":87
  * @cython.boundscheck(False)
@@ -88441,16 +85097,16 @@
  */

 #line 87 "root_numpy/src/hist.pyx"
-  __pyx_tuple__157 = PyTuple_Pack(9, __pyx_n_s_profile, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_profile_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(6, 87, __pyx_L1_error)
+  __pyx_tuple__143 = PyTuple_Pack(9, __pyx_n_s_profile, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_profile_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__143)) __PYX_ERR(6, 87, __pyx_L1_error)

 #line 87 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__157);
+  __Pyx_GOTREF(__pyx_tuple__143);

 #line 87 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__157);
+  __Pyx_GIVEREF(__pyx_tuple__143);

 #line 87 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_p1, 87, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(6, 87, __pyx_L1_error)
+  __pyx_codeobj__144 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__143, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_p1, 87, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) __PYX_ERR(6, 87, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":115
  * @cython.boundscheck(False)
@@ -88461,16 +85117,16 @@
  */

 #line 115 "root_numpy/src/hist.pyx"
-  __pyx_tuple__159 = PyTuple_Pack(9, __pyx_n_s_profile, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_profile_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(6, 115, __pyx_L1_error)
+  __pyx_tuple__145 = PyTuple_Pack(9, __pyx_n_s_profile, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_profile_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__145)) __PYX_ERR(6, 115, __pyx_L1_error)

 #line 115 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__159);
+  __Pyx_GOTREF(__pyx_tuple__145);

 #line 115 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__159);
+  __Pyx_GIVEREF(__pyx_tuple__145);

 #line 115 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_p2, 115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) __PYX_ERR(6, 115, __pyx_L1_error)
+  __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_p2, 115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) __PYX_ERR(6, 115, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":143
  * @cython.boundscheck(False)
@@ -88481,16 +85137,16 @@
  */

 #line 143 "root_numpy/src/hist.pyx"
-  __pyx_tuple__161 = PyTuple_Pack(9, __pyx_n_s_profile, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_profile_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(6, 143, __pyx_L1_error)
+  __pyx_tuple__147 = PyTuple_Pack(9, __pyx_n_s_profile, __pyx_n_s_array, __pyx_n_s_weights, __pyx_n_s_return_indices, __pyx_n_s_profile_2, __pyx_n_s_size, __pyx_n_s_idx, __pyx_n_s_i, __pyx_n_s_bin_idx); if (unlikely(!__pyx_tuple__147)) __PYX_ERR(6, 143, __pyx_L1_error)

 #line 143 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__161);
+  __Pyx_GOTREF(__pyx_tuple__147);

 #line 143 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__161);
+  __Pyx_GIVEREF(__pyx_tuple__147);

 #line 143 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_p3, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) __PYX_ERR(6, 143, __pyx_L1_error)
+  __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(4, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_fill_p3, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) __PYX_ERR(6, 143, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":171
  * @cython.boundscheck(False)
@@ -88501,16 +85157,16 @@
  */

 #line 171 "root_numpy/src/hist.pyx"
-  __pyx_tuple__163 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_shape, __pyx_n_s_dtype, __pyx_n_s_hist_2, __pyx_n_s_content, __pyx_n_s_ibin, __pyx_n_s_nbins, __pyx_n_s_array, __pyx_n_s_array_ravel_view); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(6, 171, __pyx_L1_error)
+  __pyx_tuple__149 = PyTuple_Pack(9, __pyx_n_s_hist, __pyx_n_s_shape, __pyx_n_s_dtype, __pyx_n_s_hist_2, __pyx_n_s_content, __pyx_n_s_ibin, __pyx_n_s_nbins, __pyx_n_s_array, __pyx_n_s_array_ravel_view); if (unlikely(!__pyx_tuple__149)) __PYX_ERR(6, 171, __pyx_L1_error)

 #line 171 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__163);
+  __Pyx_GOTREF(__pyx_tuple__149);

 #line 171 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__163);
+  __Pyx_GIVEREF(__pyx_tuple__149);

 #line 171 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_thn2array, 171, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) __PYX_ERR(6, 171, __pyx_L1_error)
+  __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__149, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_thn2array, 171, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) __PYX_ERR(6, 171, __pyx_L1_error)

   /* "root_numpy/src/hist.pyx":185
  * @cython.boundscheck(False)
@@ -88521,16 +85177,16 @@
  */

 #line 185 "root_numpy/src/hist.pyx"
-  __pyx_tuple__165 = PyTuple_Pack(10, __pyx_n_s_hist, __pyx_n_s_shape, __pyx_n_s_dtype, __pyx_n_s_hist_2, __pyx_n_s_content, __pyx_n_s_ibin, __pyx_n_s_nbins, __pyx_n_s_array, __pyx_n_s_coord, __pyx_n_s_itemset); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(6, 185, __pyx_L1_error)
+  __pyx_tuple__151 = PyTuple_Pack(10, __pyx_n_s_hist, __pyx_n_s_shape, __pyx_n_s_dtype, __pyx_n_s_hist_2, __pyx_n_s_content, __pyx_n_s_ibin, __pyx_n_s_nbins, __pyx_n_s_array, __pyx_n_s_coord, __pyx_n_s_itemset); if (unlikely(!__pyx_tuple__151)) __PYX_ERR(6, 185, __pyx_L1_error)

 #line 185 "root_numpy/src/hist.pyx"
-  __Pyx_GOTREF(__pyx_tuple__165);
+  __Pyx_GOTREF(__pyx_tuple__151);

 #line 185 "root_numpy/src/hist.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__165);
+  __Pyx_GIVEREF(__pyx_tuple__151);

 #line 185 "root_numpy/src/hist.pyx"
-  __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_thnsparse2array, 185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(6, 185, __pyx_L1_error)
+  __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_hist_pyx, __pyx_n_s_thnsparse2array, 185, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) __PYX_ERR(6, 185, __pyx_L1_error)

   /* "root_numpy/src/graph.pyx":3
  * @cython.boundscheck(False)
@@ -88541,16 +85197,16 @@
  */

 #line 3 "root_numpy/src/graph.pyx"
-  __pyx_tuple__167 = PyTuple_Pack(5, __pyx_n_s_graph, __pyx_n_s_array, __pyx_n_s_graph_2, __pyx_n_s_size, __pyx_n_s_i); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(7, 3, __pyx_L1_error)
+  __pyx_tuple__153 = PyTuple_Pack(5, __pyx_n_s_graph, __pyx_n_s_array, __pyx_n_s_graph_2, __pyx_n_s_size, __pyx_n_s_i); if (unlikely(!__pyx_tuple__153)) __PYX_ERR(7, 3, __pyx_L1_error)

 #line 3 "root_numpy/src/graph.pyx"
-  __Pyx_GOTREF(__pyx_tuple__167);
+  __Pyx_GOTREF(__pyx_tuple__153);

 #line 3 "root_numpy/src/graph.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__167);
+  __Pyx_GIVEREF(__pyx_tuple__153);

 #line 3 "root_numpy/src/graph.pyx"
-  __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_graph_pyx, __pyx_n_s_fill_g1, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) __PYX_ERR(7, 3, __pyx_L1_error)
+  __pyx_codeobj__154 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__153, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_graph_pyx, __pyx_n_s_fill_g1, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) __PYX_ERR(7, 3, __pyx_L1_error)

   /* "root_numpy/src/graph.pyx":16
  * @cython.boundscheck(False)
@@ -88561,16 +85217,16 @@
  */

 #line 16 "root_numpy/src/graph.pyx"
-  __pyx_tuple__169 = PyTuple_Pack(5, __pyx_n_s_graph, __pyx_n_s_array, __pyx_n_s_graph_2, __pyx_n_s_size, __pyx_n_s_i); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(7, 16, __pyx_L1_error)
+  __pyx_tuple__155 = PyTuple_Pack(5, __pyx_n_s_graph, __pyx_n_s_array, __pyx_n_s_graph_2, __pyx_n_s_size, __pyx_n_s_i); if (unlikely(!__pyx_tuple__155)) __PYX_ERR(7, 16, __pyx_L1_error)

 #line 16 "root_numpy/src/graph.pyx"
-  __Pyx_GOTREF(__pyx_tuple__169);
+  __Pyx_GOTREF(__pyx_tuple__155);

 #line 16 "root_numpy/src/graph.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__169);
+  __Pyx_GIVEREF(__pyx_tuple__155);

 #line 16 "root_numpy/src/graph.pyx"
-  __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_graph_pyx, __pyx_n_s_fill_g2, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(7, 16, __pyx_L1_error)
+  __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__155, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_graph_pyx, __pyx_n_s_fill_g2, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) __PYX_ERR(7, 16, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":3
  * @cython.boundscheck(False)
@@ -88581,16 +85237,16 @@
  */

 #line 3 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__171 = PyTuple_Pack(6, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(8, 3, __pyx_L1_error)
+  __pyx_tuple__157 = PyTuple_Pack(6, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__157)) __PYX_ERR(8, 3, __pyx_L1_error)

 #line 3 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__171);
+  __Pyx_GOTREF(__pyx_tuple__157);

 #line 3 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__171);
+  __Pyx_GIVEREF(__pyx_tuple__157);

 #line 3 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_h1, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(8, 3, __pyx_L1_error)
+  __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_h1, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) __PYX_ERR(8, 3, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":16
  * @cython.boundscheck(False)
@@ -88601,16 +85257,16 @@
  */

 #line 16 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__173 = PyTuple_Pack(6, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(8, 16, __pyx_L1_error)
+  __pyx_tuple__159 = PyTuple_Pack(6, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__159)) __PYX_ERR(8, 16, __pyx_L1_error)

 #line 16 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__173);
+  __Pyx_GOTREF(__pyx_tuple__159);

 #line 16 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__173);
+  __Pyx_GIVEREF(__pyx_tuple__159);

 #line 16 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_h2, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(8, 16, __pyx_L1_error)
+  __pyx_codeobj__160 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__159, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_h2, 16, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) __PYX_ERR(8, 16, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":29
  * @cython.boundscheck(False)
@@ -88621,16 +85277,16 @@
  */

 #line 29 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__175 = PyTuple_Pack(6, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(8, 29, __pyx_L1_error)
+  __pyx_tuple__161 = PyTuple_Pack(6, __pyx_n_s_hist, __pyx_n_s_array, __pyx_n_s_hist_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__161)) __PYX_ERR(8, 29, __pyx_L1_error)

 #line 29 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__175);
+  __Pyx_GOTREF(__pyx_tuple__161);

 #line 29 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__175);
+  __Pyx_GIVEREF(__pyx_tuple__161);

 #line 29 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_h3, 29, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(8, 29, __pyx_L1_error)
+  __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__161, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_h3, 29, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) __PYX_ERR(8, 29, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":42
  * @cython.boundscheck(False)
@@ -88641,16 +85297,16 @@
  */

 #line 42 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__177 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(8, 42, __pyx_L1_error)
+  __pyx_tuple__163 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__163)) __PYX_ERR(8, 42, __pyx_L1_error)

 #line 42 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__177);
+  __Pyx_GOTREF(__pyx_tuple__163);

 #line 42 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__177);
+  __Pyx_GIVEREF(__pyx_tuple__163);

 #line 42 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_f1, 42, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(8, 42, __pyx_L1_error)
+  __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__163, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_f1, 42, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) __PYX_ERR(8, 42, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":55
  * @cython.boundscheck(False)
@@ -88661,16 +85317,16 @@
  */

 #line 55 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__179 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(8, 55, __pyx_L1_error)
+  __pyx_tuple__165 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__165)) __PYX_ERR(8, 55, __pyx_L1_error)

 #line 55 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__179);
+  __Pyx_GOTREF(__pyx_tuple__165);

 #line 55 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__179);
+  __Pyx_GIVEREF(__pyx_tuple__165);

 #line 55 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_f2, 55, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(8, 55, __pyx_L1_error)
+  __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_f2, 55, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__166)) __PYX_ERR(8, 55, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":68
  * @cython.boundscheck(False)
@@ -88681,16 +85337,16 @@
  */

 #line 68 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__181 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__181)) __PYX_ERR(8, 68, __pyx_L1_error)
+  __pyx_tuple__167 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__167)) __PYX_ERR(8, 68, __pyx_L1_error)

 #line 68 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__181);
+  __Pyx_GOTREF(__pyx_tuple__167);

 #line 68 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__181);
+  __Pyx_GIVEREF(__pyx_tuple__167);

 #line 68 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__181, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_f3, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) __PYX_ERR(8, 68, __pyx_L1_error)
+  __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__167, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_f3, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) __PYX_ERR(8, 68, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":81
  * @cython.boundscheck(False)
@@ -88701,16 +85357,16 @@
  */

 #line 81 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__183 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__183)) __PYX_ERR(8, 81, __pyx_L1_error)
+  __pyx_tuple__169 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__169)) __PYX_ERR(8, 81, __pyx_L1_error)

 #line 81 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__183);
+  __Pyx_GOTREF(__pyx_tuple__169);

 #line 81 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__183);
+  __Pyx_GIVEREF(__pyx_tuple__169);

 #line 81 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__184 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__183, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_1d, 81, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) __PYX_ERR(8, 81, __pyx_L1_error)
+  __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__169, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_1d, 81, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) __PYX_ERR(8, 81, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":94
  * @cython.boundscheck(False)
@@ -88721,16 +85377,16 @@
  */

 #line 94 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__185 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__185)) __PYX_ERR(8, 94, __pyx_L1_error)
+  __pyx_tuple__171 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__171)) __PYX_ERR(8, 94, __pyx_L1_error)

 #line 94 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__185);
+  __Pyx_GOTREF(__pyx_tuple__171);

 #line 94 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__185);
+  __Pyx_GIVEREF(__pyx_tuple__171);

 #line 94 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__186 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__185, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_2d, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) __PYX_ERR(8, 94, __pyx_L1_error)
+  __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_2d, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) __PYX_ERR(8, 94, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":107
  * @cython.boundscheck(False)
@@ -88741,16 +85397,16 @@
  */

 #line 107 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__187 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__187)) __PYX_ERR(8, 107, __pyx_L1_error)
+  __pyx_tuple__173 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__173)) __PYX_ERR(8, 107, __pyx_L1_error)

 #line 107 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__187);
+  __Pyx_GOTREF(__pyx_tuple__173);

 #line 107 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__187);
+  __Pyx_GIVEREF(__pyx_tuple__173);

 #line 107 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__188 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__187, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_3d, 107, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) __PYX_ERR(8, 107, __pyx_L1_error)
+  __pyx_codeobj__174 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__173, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_3d, 107, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) __PYX_ERR(8, 107, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":120
  * @cython.boundscheck(False)
@@ -88761,16 +85417,16 @@
  */

 #line 120 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__189 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__189)) __PYX_ERR(8, 120, __pyx_L1_error)
+  __pyx_tuple__175 = PyTuple_Pack(6, __pyx_n_s_func, __pyx_n_s_array, __pyx_n_s_func_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__175)) __PYX_ERR(8, 120, __pyx_L1_error)

 #line 120 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__189);
+  __Pyx_GOTREF(__pyx_tuple__175);

 #line 120 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__189);
+  __Pyx_GIVEREF(__pyx_tuple__175);

 #line 120 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__189, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_4d, 120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) __PYX_ERR(8, 120, __pyx_L1_error)
+  __pyx_codeobj__176 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__175, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_formula_4d, 120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) __PYX_ERR(8, 120, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":133
  * @cython.boundscheck(False)
@@ -88781,16 +85437,16 @@
  */

 #line 133 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__191 = PyTuple_Pack(6, __pyx_n_s_graph, __pyx_n_s_array, __pyx_n_s_graph_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__191)) __PYX_ERR(8, 133, __pyx_L1_error)
+  __pyx_tuple__177 = PyTuple_Pack(6, __pyx_n_s_graph, __pyx_n_s_array, __pyx_n_s_graph_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__177)) __PYX_ERR(8, 133, __pyx_L1_error)

 #line 133 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__191);
+  __Pyx_GOTREF(__pyx_tuple__177);

 #line 133 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__191);
+  __Pyx_GIVEREF(__pyx_tuple__177);

 #line 133 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__192 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__191, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_graph, 133, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__192)) __PYX_ERR(8, 133, __pyx_L1_error)
+  __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_graph, 133, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__178)) __PYX_ERR(8, 133, __pyx_L1_error)

   /* "root_numpy/src/evaluate.pyx":146
  * @cython.boundscheck(False)
@@ -88801,16 +85457,16 @@
  */

 #line 146 "root_numpy/src/evaluate.pyx"
-  __pyx_tuple__193 = PyTuple_Pack(6, __pyx_n_s_spline, __pyx_n_s_array, __pyx_n_s_spline_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__193)) __PYX_ERR(8, 146, __pyx_L1_error)
+  __pyx_tuple__179 = PyTuple_Pack(6, __pyx_n_s_spline, __pyx_n_s_array, __pyx_n_s_spline_2, __pyx_n_s_size, __pyx_n_s_i, __pyx_n_s_values); if (unlikely(!__pyx_tuple__179)) __PYX_ERR(8, 146, __pyx_L1_error)

 #line 146 "root_numpy/src/evaluate.pyx"
-  __Pyx_GOTREF(__pyx_tuple__193);
+  __Pyx_GOTREF(__pyx_tuple__179);

 #line 146 "root_numpy/src/evaluate.pyx"
-  __Pyx_GIVEREF(__pyx_tuple__193);
+  __Pyx_GIVEREF(__pyx_tuple__179);

 #line 146 "root_numpy/src/evaluate.pyx"
-  __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_spline, 146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) __PYX_ERR(8, 146, __pyx_L1_error)
+  __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__179, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_root_numpy_src_evaluate_pyx, __pyx_n_s_evaluate_spline, 146, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) __PYX_ERR(8, 146, __pyx_L1_error)

 #line 146 "root_numpy/src/evaluate.pyx"
   __Pyx_RefNannyFinishContext();
@@ -88830,7 +85486,7 @@
 #line 146 "root_numpy/src/evaluate.pyx"
 }

-static int __Pyx_InitGlobals(void) {
+static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
   if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(13, 1, __pyx_L1_error);
   __pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(13, 1, __pyx_L1_error)
   __pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(13, 1, __pyx_L1_error)
@@ -88848,13 +85504,13 @@
   return -1;
 }

-static int __Pyx_modinit_global_init_code(void); /*proto*/
-static int __Pyx_modinit_variable_export_code(void); /*proto*/
-static int __Pyx_modinit_function_export_code(void); /*proto*/
-static int __Pyx_modinit_type_init_code(void); /*proto*/
-static int __Pyx_modinit_type_import_code(void); /*proto*/
-static int __Pyx_modinit_variable_import_code(void); /*proto*/
-static int __Pyx_modinit_function_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/
+static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/

 static int __Pyx_modinit_global_init_code(void) {
   __Pyx_RefNannyDeclarations
@@ -88890,26 +85546,52 @@

 static int __Pyx_modinit_type_import_code(void) {
   __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
   __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0);
   /*--- Type import code ---*/
-  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "type",
+  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(14, 9, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_7cpython_4type_type = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "type",
   #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
   sizeof(PyTypeObject),
   #else
   sizeof(PyHeapTypeObject),
   #endif
-  0); if (unlikely(!__pyx_ptype_7cpython_4type_type)) __PYX_ERR(14, 9, __pyx_L1_error)
-  __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), 0); if (unlikely(!__pyx_ptype_7cpython_4bool_bool)) __PYX_ERR(15, 8, __pyx_L1_error)
-  __pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType(__Pyx_BUILTIN_MODULE_NAME, "complex", sizeof(PyComplexObject), 0); if (unlikely(!__pyx_ptype_7cpython_7complex_complex)) __PYX_ERR(16, 15, __pyx_L1_error)
-  __pyx_ptype_5numpy_dtype = __Pyx_ImportType("numpy", "dtype", sizeof(PyArray_Descr), 0); if (unlikely(!__pyx_ptype_5numpy_dtype)) __PYX_ERR(10, 164, __pyx_L1_error)
-  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType("numpy", "flatiter", sizeof(PyArrayIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_flatiter)) __PYX_ERR(10, 186, __pyx_L1_error)
-  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType("numpy", "broadcast", sizeof(PyArrayMultiIterObject), 0); if (unlikely(!__pyx_ptype_5numpy_broadcast)) __PYX_ERR(10, 190, __pyx_L1_error)
-  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType("numpy", "ndarray", sizeof(PyArrayObject), 0); if (unlikely(!__pyx_ptype_5numpy_ndarray)) __PYX_ERR(10, 199, __pyx_L1_error)
-  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType("numpy", "ufunc", sizeof(PyUFuncObject), 0); if (unlikely(!__pyx_ptype_5numpy_ufunc)) __PYX_ERR(10, 872, __pyx_L1_error)
-  __pyx_ptype_7cpython_5array_array = __Pyx_ImportType("array", "array", sizeof(arrayobject), 0); if (unlikely(!__pyx_ptype_7cpython_5array_array)) __PYX_ERR(11, 58, __pyx_L1_error)
+  __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_7cpython_4type_type) __PYX_ERR(14, 9, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(15, 8, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_7cpython_4bool_bool = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "bool", sizeof(PyBoolObject), __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_7cpython_4bool_bool) __PYX_ERR(15, 8, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyImport_ImportModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_t_1)) __PYX_ERR(16, 15, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_7cpython_7complex_complex = __Pyx_ImportType(__pyx_t_1, __Pyx_BUILTIN_MODULE_NAME, "complex", sizeof(PyComplexObject), __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_7cpython_7complex_complex) __PYX_ERR(16, 15, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyImport_ImportModule("numpy"); if (unlikely(!__pyx_t_1)) __PYX_ERR(10, 206, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_5numpy_dtype = __Pyx_ImportType(__pyx_t_1, "numpy", "dtype", sizeof(PyArray_Descr), __Pyx_ImportType_CheckSize_Ignore);
+   if (!__pyx_ptype_5numpy_dtype) __PYX_ERR(10, 206, __pyx_L1_error)
+  __pyx_ptype_5numpy_flatiter = __Pyx_ImportType(__pyx_t_1, "numpy", "flatiter", sizeof(PyArrayIterObject), __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_5numpy_flatiter) __PYX_ERR(10, 229, __pyx_L1_error)
+  __pyx_ptype_5numpy_broadcast = __Pyx_ImportType(__pyx_t_1, "numpy", "broadcast", sizeof(PyArrayMultiIterObject), __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_5numpy_broadcast) __PYX_ERR(10, 233, __pyx_L1_error)
+  __pyx_ptype_5numpy_ndarray = __Pyx_ImportType(__pyx_t_1, "numpy", "ndarray", sizeof(PyArrayObject), __Pyx_ImportType_CheckSize_Ignore);
+   if (!__pyx_ptype_5numpy_ndarray) __PYX_ERR(10, 242, __pyx_L1_error)
+  __pyx_ptype_5numpy_ufunc = __Pyx_ImportType(__pyx_t_1, "numpy", "ufunc", sizeof(PyUFuncObject), __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_5numpy_ufunc) __PYX_ERR(10, 918, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+  __pyx_t_1 = PyImport_ImportModule("array"); if (unlikely(!__pyx_t_1)) __PYX_ERR(11, 58, __pyx_L1_error)
+  __Pyx_GOTREF(__pyx_t_1);
+  __pyx_ptype_7cpython_5array_array = __Pyx_ImportType(__pyx_t_1, "array", "array", sizeof(arrayobject), __Pyx_ImportType_CheckSize_Warn);
+   if (!__pyx_ptype_7cpython_5array_array) __PYX_ERR(11, 58, __pyx_L1_error)
+  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
   __Pyx_RefNannyFinishContext();
   return 0;
   __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
   __Pyx_RefNannyFinishContext();
   return -1;
 }
@@ -88944,15 +85626,6 @@
 #define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
 #endif
 #endif
-#ifndef CYTHON_SMALL_CODE
-#if defined(__clang__)
-    #define CYTHON_SMALL_CODE
-#elif defined(__GNUC__) && (!(defined(__cplusplus)) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)))
-    #define CYTHON_SMALL_CODE __attribute__((optimize("Os")))
-#else
-    #define CYTHON_SMALL_CODE
-#endif
-#endif

 #if PY_MAJOR_VERSION < 3
@@ -88965,11 +85638,36 @@
 {
   return PyModuleDef_Init(&__pyx_moduledef);
 }
-static int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name) {
+static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
+    #if PY_VERSION_HEX >= 0x030700A1
+    static PY_INT64_T main_interpreter_id = -1;
+    PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp);
+    if (main_interpreter_id == -1) {
+        main_interpreter_id = current_id;
+        return (unlikely(current_id == -1)) ? -1 : 0;
+    } else if (unlikely(main_interpreter_id != current_id))
+    #else
+    static PyInterpreterState *main_interpreter = NULL;
+    PyInterpreterState *current_interpreter = PyThreadState_Get()->interp;
+    if (!main_interpreter) {
+        main_interpreter = current_interpreter;
+    } else if (unlikely(main_interpreter != current_interpreter))
+    #endif
+    {
+        PyErr_SetString(
+            PyExc_ImportError,
+            "Interpreter change detected - this module can only be loaded into one interpreter per process.");
+        return -1;
+    }
+    return 0;
+}
+static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) {
     PyObject *value = PyObject_GetAttrString(spec, from_name);
     int result = 0;
     if (likely(value)) {
-        result = PyDict_SetItemString(moddict, to_name, value);
+        if (allow_none || value != Py_None) {
+            result = PyDict_SetItemString(moddict, to_name, value);
+        }
         Py_DECREF(value);
     } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
         PyErr_Clear();
@@ -88978,8 +85676,10 @@
     }
     return result;
 }
-static PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
+static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, CYTHON_UNUSED PyModuleDef *def) {
     PyObject *module = NULL, *moddict, *modname;
+    if (__Pyx_check_single_interpreter())
+        return NULL;
     if (__pyx_m)
         return __Pyx_NewRef(__pyx_m);
     modname = PyObject_GetAttrString(spec, "name");
@@ -88989,10 +85689,10 @@
     if (unlikely(!module)) goto bad;
     moddict = PyModule_GetDict(module);
     if (unlikely(!moddict)) goto bad;
-    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__") < 0)) goto bad;
-    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__") < 0)) goto bad;
-    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__") < 0)) goto bad;
-    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__") < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad;
+    if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad;
     return module;
 bad:
     Py_XDECREF(module);
@@ -89000,7 +85700,7 @@
 }

-static int __pyx_pymod_exec__librootnumpy(PyObject *__pyx_pyinit_module)
+static CYTHON_SMALL_CODE int __pyx_pymod_exec__librootnumpy(PyObject *__pyx_pyinit_module)
 #endif
 #endif
 {
@@ -89030,7 +85730,11 @@
   __pyx_t_13_librootnumpy_VectorVectorStringConverter *__pyx_t_24;
   __Pyx_RefNannyDeclarations
   #if CYTHON_PEP489_MULTI_PHASE_INIT
-  if (__pyx_m && __pyx_m == __pyx_pyinit_module) return 0;
+  if (__pyx_m) {
+    if (__pyx_m == __pyx_pyinit_module) return 0;
+    PyErr_SetString(PyExc_RuntimeError, "Module '_librootnumpy' has already been imported. Re-initialisation is not supported.");
+    return -1;
+  }
   #elif PY_MAJOR_VERSION >= 3
   if (__pyx_m) return __Pyx_NewRef(__pyx_m);
   #endif
@@ -89045,6 +85749,9 @@
 #endif
   __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit__librootnumpy(void)", 0);
   if (__Pyx_check_binary_version() < 0) __PYX_ERR(13, 1, __pyx_L1_error)
+  #ifdef __Pxy_PyFrame_Initialize_Offsets
+  __Pxy_PyFrame_Initialize_Offsets();
+  #endif
   __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(13, 1, __pyx_L1_error)
   __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(13, 1, __pyx_L1_error)
   __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(13, 1, __pyx_L1_error)
@@ -89099,7 +85806,7 @@
   if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(13, 1, __pyx_L1_error)
   #endif
   if (__pyx_module_is_main__librootnumpy) {
-    if (PyObject_SetAttrString(__pyx_m, "__name__", __pyx_n_s_main) < 0) __PYX_ERR(13, 1, __pyx_L1_error)
+    if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_2, __pyx_n_s_main) < 0) __PYX_ERR(13, 1, __pyx_L1_error)
   }
   #if PY_MAJOR_VERSION >= 3
   {
@@ -89345,13 +86052,13 @@
       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 31 "root_numpy/src/setup.pxi"
-      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+      __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;

 #line 31 "root_numpy/src/setup.pxi"
-      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+      __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 31 "root_numpy/src/setup.pxi"
-      __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
+      __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 31 "root_numpy/src/setup.pxi"
       goto __pyx_L3_exception_handled;
@@ -89523,7 +86230,7 @@
  */

 #line 4 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_re); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_re); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)

 #line 4 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -89538,7 +86245,7 @@
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 4 "root_numpy/src/converters.pyx"
-  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__54, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)
+  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__41, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 4, __pyx_L1_error)

 #line 4 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -89573,7 +86280,7 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 7 "root_numpy/src/converters.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 7, __pyx_L1_error)

 #line 7 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_6);
@@ -89659,7 +86366,7 @@
   __Pyx_GOTREF(__pyx_t_8);

 #line 8 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 8, __pyx_L1_error)

 #line 8 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_7);
@@ -89745,7 +86452,7 @@
   __Pyx_GOTREF(__pyx_t_6);

 #line 9 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 9, __pyx_L1_error)

 #line 9 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -89831,7 +86538,7 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 10 "root_numpy/src/converters.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 10, __pyx_L1_error)

 #line 10 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_6);
@@ -89917,7 +86624,7 @@
   __Pyx_GOTREF(__pyx_t_8);

 #line 11 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 11, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 11, __pyx_L1_error)

 #line 11 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_7);
@@ -90003,7 +86710,7 @@
   __Pyx_GOTREF(__pyx_t_6);

 #line 12 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 12, __pyx_L1_error)

 #line 12 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90089,7 +86796,7 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 13 "root_numpy/src/converters.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 13, __pyx_L1_error)

 #line 13 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_6);
@@ -90175,7 +86882,7 @@
   __Pyx_GOTREF(__pyx_t_8);

 #line 14 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 14, __pyx_L1_error)

 #line 14 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_7);
@@ -90261,7 +86968,7 @@
   __Pyx_GOTREF(__pyx_t_6);

 #line 15 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 15, __pyx_L1_error)

 #line 15 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90347,7 +87054,7 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 16 "root_numpy/src/converters.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 16, __pyx_L1_error)

 #line 16 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_6);
@@ -90433,7 +87140,7 @@
   __Pyx_GOTREF(__pyx_t_8);

 #line 17 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 17, __pyx_L1_error)

 #line 17 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_7);
@@ -90519,7 +87226,7 @@
   __Pyx_GOTREF(__pyx_t_6);

 #line 18 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 18, __pyx_L1_error)

 #line 18 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90605,7 +87312,7 @@
   __Pyx_GOTREF(__pyx_t_7);

 #line 19 "root_numpy/src/converters.pyx"
-  __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(1, 19, __pyx_L1_error)

 #line 19 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_6);
@@ -90697,7 +87404,7 @@
   __Pyx_GOTREF(__pyx_t_1);

 #line 23 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 23, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 23 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90721,7 +87428,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 23 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__55) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__42) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 23 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90735,7 +87442,7 @@
  */

 #line 24 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 24, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 24, __pyx_L1_error)

 #line 24 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90759,7 +87466,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 24 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__56) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__43) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 24 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90773,7 +87480,7 @@
  */

 #line 25 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 25, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 25, __pyx_L1_error)

 #line 25 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90797,7 +87504,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 25 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__57) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__44) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 25 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90811,7 +87518,7 @@
  */

 #line 26 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 26, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 26, __pyx_L1_error)

 #line 26 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90835,7 +87542,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 26 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__58) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__45) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 26 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90849,7 +87556,7 @@
  */

 #line 27 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 27, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 27, __pyx_L1_error)

 #line 27 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90873,7 +87580,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 27 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__59) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__46) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 27 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90887,7 +87594,7 @@
  */

 #line 28 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 28, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 28, __pyx_L1_error)

 #line 28 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90911,7 +87618,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 28 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__60) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__47) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 28 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90925,7 +87632,7 @@
  */

 #line 29 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 29, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 29, __pyx_L1_error)

 #line 29 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90949,7 +87656,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 29 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__61) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__48) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 29 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -90963,7 +87670,7 @@
  */

 #line 30 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 30, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 30, __pyx_L1_error)

 #line 30 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -90987,7 +87694,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 30 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__62) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__49) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 30 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -91001,7 +87708,7 @@
  */

 #line 31 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 31, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 31, __pyx_L1_error)

 #line 31 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -91025,7 +87732,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 31 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__63) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__50) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 31 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -91039,7 +87746,7 @@
  */

 #line 32 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 32, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 32, __pyx_L1_error)

 #line 32 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -91063,7 +87770,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 32 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__64) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__51) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 32 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -91077,7 +87784,7 @@
  */

 #line 33 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 33, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 33, __pyx_L1_error)

 #line 33 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -91101,7 +87808,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 33 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__65) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__52) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 33 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -91115,7 +87822,7 @@
  */

 #line 34 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 34, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_np); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 34, __pyx_L1_error)

 #line 34 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -91139,7 +87846,7 @@
   __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;

 #line 34 "root_numpy/src/converters.pyx"
-  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__66) < 0) __PYX_ERR(1, 23, __pyx_L1_error)
+  if (PyDict_SetItem(__pyx_t_1, __pyx_t_8, __pyx_tuple__51) < 0) __PYX_ERR(1, 23, __pyx_L1_error)

 #line 34 "root_numpy/src/converters.pyx"
   __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
@@ -91185,7 +87892,7 @@
  */

 #line 518 "root_numpy/src/converters.pyx"
-  __pyx_t_8 = __Pyx_GetModuleGlobalName(__pyx_n_s_TYPES); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 518, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_TYPES); if (unlikely(!__pyx_t_8)) __PYX_ERR(1, 518, __pyx_L1_error)

 #line 518 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_8);
@@ -91230,22 +87937,13 @@
   }

 #line 518 "root_numpy/src/converters.pyx"
-  if (__pyx_t_8) {
+  __pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_7);

 #line 518 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 518, __pyx_L1_error)
+  __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;

 #line 518 "root_numpy/src/converters.pyx"
-    __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
-
-#line 518 "root_numpy/src/converters.pyx"
-  } else {
-
-#line 518 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 518, __pyx_L1_error)
-
-#line 518 "root_numpy/src/converters.pyx"
-  }
+  if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 518, __pyx_L1_error)

 #line 518 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_1);
@@ -91703,7 +88401,7 @@
  */

 #line 520 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_ctype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 520, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ctype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 520, __pyx_L1_error)

 #line 520 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -91723,7 +88421,7 @@
  */

 #line 521 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 521, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_dtype); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 521, __pyx_L1_error)

 #line 521 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -91744,7 +88442,7 @@
     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;

 #line 521 "root_numpy/src/converters.pyx"
-    __pyx_t_9 = __Pyx_GetModuleGlobalName(__pyx_n_s_dtype); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 521, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_dtype); if (unlikely(!__pyx_t_9)) __PYX_ERR(1, 521, __pyx_L1_error)

 #line 521 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_9);
@@ -91765,7 +88463,7 @@
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

 #line 521 "root_numpy/src/converters.pyx"
-    __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_dtypecode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 521, __pyx_L1_error)
+    __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_dtypecode); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 521, __pyx_L1_error)

 #line 521 "root_numpy/src/converters.pyx"
     __Pyx_GOTREF(__pyx_t_1);
@@ -93528,7 +90226,7 @@
  */

 #line 670 "root_numpy/src/converters.pyx"
-  __pyx_t_7 = __Pyx_GetModuleGlobalName(__pyx_n_s_atexit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 670, __pyx_L1_error)
+  __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_atexit); if (unlikely(!__pyx_t_7)) __PYX_ERR(1, 670, __pyx_L1_error)

 #line 670 "root_numpy/src/converters.pyx"
   __Pyx_GOTREF(__pyx_t_7);
@@ -93734,7 +90432,7 @@
   __pyx_t_17 = __pyx_convert_string_from_py_std__in_string(__pyx_n_b_tree); if (unlikely(PyErr_Occurred())) __PYX_ERR(2, 651, __pyx_L1_error)

 #line 651 "root_numpy/src/tree.pyx"
-  __pyx_k__38 = __pyx_t_17;
+  __pyx_k__32 = __pyx_t_17;

   /* "root_numpy/src/tree.pyx":711
  *
@@ -94946,13 +91644,13 @@
     if (__pyx_d) {

 #line 55 "string.to_py"
-      __Pyx_AddTraceback("init _librootnumpy", 0, __pyx_lineno, __pyx_filename);
+      __Pyx_AddTraceback("init _librootnumpy", __pyx_clineno, __pyx_lineno, __pyx_filename);

 #line 55 "string.to_py"
     }

 #line 55 "string.to_py"
-    Py_DECREF(__pyx_m); __pyx_m = 0;
+    Py_CLEAR(__pyx_m);

 #line 55 "string.to_py"
   } else if (!PyErr_Occurred()) {
@@ -95001,9 +91699,9 @@
 static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) {
     PyObject *m = NULL, *p = NULL;
     void *r = NULL;
-    m = PyImport_ImportModule((char *)modname);
+    m = PyImport_ImportModule(modname);
     if (!m) goto end;
-    p = PyObject_GetAttrString(m, (char *)"RefNannyAPI");
+    p = PyObject_GetAttrString(m, "RefNannyAPI");
     if (!p) goto end;
     r = PyLong_AsVoidPtr(p);
 end:
@@ -95042,35 +91740,42 @@
 }

 /* GetModuleGlobalName */
-static CYTHON_INLINE PyObject *__Pyx_GetModuleGlobalName(PyObject *name) {
+#if CYTHON_USE_DICT_VERSIONS
+static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
+#else
+static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
+#endif
+{
     PyObject *result;
 #if !CYTHON_AVOID_BORROWED_REFS
 #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
     result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
     if (likely(result)) {
-        Py_INCREF(result);
+        return __Pyx_NewRef(result);
     } else if (unlikely(PyErr_Occurred())) {
-        result = NULL;
-    } else {
+        return NULL;
+    }
 #else
     result = PyDict_GetItem(__pyx_d, name);
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
     if (likely(result)) {
-        Py_INCREF(result);
-    } else {
+        return __Pyx_NewRef(result);
+    }
 #endif
 #else
     result = PyObject_GetItem(__pyx_d, name);
-    if (!result) {
-        PyErr_Clear();
+    __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
+    if (likely(result)) {
+        return __Pyx_NewRef(result);
+    }
+    PyErr_Clear();
 #endif
-        result = __Pyx_GetBuiltinName(name);
-    }
-    return result;
+    return __Pyx_GetBuiltinName(name);
 }

 /* PyFunctionFastCall */
-    #if CYTHON_FAST_PYCALL
-#include "frameobject.h"
+#if CYTHON_FAST_PYCALL
 static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na,
                                                PyObject *globals) {
     PyFrameObject *f;
@@ -95088,7 +91793,7 @@
     if (f == NULL) {
         return NULL;
     }
-    fastlocals = f->f_localsplus;
+    fastlocals = __Pyx_PyFrame_GetLocalsplus(f);
     for (i = 0; i < na; i++) {
         Py_INCREF(*args);
         fastlocals[i] = *args++;
@@ -95189,14 +91894,14 @@
 #endif

 /* PyCFunctionFastCall */
-    #if CYTHON_FAST_PYCCALL
+#if CYTHON_FAST_PYCCALL
 static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
     PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
     PyCFunction meth = PyCFunction_GET_FUNCTION(func);
     PyObject *self = PyCFunction_GET_SELF(func);
     int flags = PyCFunction_GET_FLAGS(func);
     assert(PyCFunction_Check(func));
-    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS)));
+    assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
     assert(nargs >= 0);
     assert(nargs == 0 || args != NULL);
     /* _PyCFunction_FastCallDict() must not be called with an exception set,
@@ -95204,15 +91909,15 @@
        caller loses its exception */
     assert(!PyErr_Occurred());
     if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
-        return (*((__Pyx_PyCFunctionFastWithKeywords)meth)) (self, args, nargs, NULL);
+        return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
     } else {
-        return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs);
+        return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
     }
 }
 #endif

 /* PyObjectCall */
-    #if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON
 static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
     PyObject *result;
     ternaryfunc call = func->ob_type->tp_call;
@@ -95232,7 +91937,7 @@
 #endif

 /* PyObjectCallMethO */
-    #if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON
 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) {
     PyObject *self, *result;
     PyCFunction cfunc;
@@ -95252,7 +91957,7 @@
 #endif

 /* PyObjectCallOneArg */
-    #if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON
 static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
     PyObject *result;
     PyObject *args = PyTuple_New(1);
@@ -95292,7 +91997,7 @@
 #endif

 /* PyErrFetchRestore */
-    #if CYTHON_FAST_THREAD_STATE
+#if CYTHON_FAST_THREAD_STATE
 static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
     PyObject *tmp_type, *tmp_value, *tmp_tb;
     tmp_type = tstate->curexc_type;
@@ -95316,7 +92021,7 @@
 #endif

 /* RaiseException */
-    #if PY_MAJOR_VERSION < 3
+#if PY_MAJOR_VERSION < 3
 static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
                         CYTHON_UNUSED PyObject *cause) {
     __Pyx_PyThreadState_declare
@@ -95475,7 +92180,7 @@
 #endif

 /* ExtTypeTest */
-    static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
+static CYTHON_INLINE int __Pyx_TypeTest(PyObject *obj, PyTypeObject *type) {
     if (unlikely(!type)) {
         PyErr_SetString(PyExc_SystemError, "Missing type object");
         return 0;
@@ -95488,7 +92193,7 @@
 }

 /* WriteUnraisableException */
-    static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
+static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
                                   CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
                                   int full_traceback, CYTHON_UNUSED int nogil) {
     PyObject *old_exc, *old_val, *old_tb;
@@ -95529,17 +92234,51 @@
 #endif
 }

+/* PyObjectCall2Args */
+static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
+    PyObject *args, *result = NULL;
+    #if CYTHON_FAST_PYCALL
+    if (PyFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyFunction_FastCall(function, args, 2);
+    }
+    #endif
+    #if CYTHON_FAST_PYCCALL
+    if (__Pyx_PyFastCFunction_Check(function)) {
+        PyObject *args[2] = {arg1, arg2};
+        return __Pyx_PyCFunction_FastCall(function, args, 2);
+    }
+    #endif
+    args = PyTuple_New(2);
+    if (unlikely(!args)) goto done;
+    Py_INCREF(arg1);
+    PyTuple_SET_ITEM(args, 0, arg1);
+    Py_INCREF(arg2);
+    PyTuple_SET_ITEM(args, 1, arg2);
+    Py_INCREF(function);
+    result = __Pyx_PyObject_Call(function, args, NULL);
+    Py_DECREF(args);
+    Py_DECREF(function);
+done:
+    return result;
+}
+
 /* DictGetItem */
-    #if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
+#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
 static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
     PyObject *value;
     value = PyDict_GetItemWithError(d, key);
     if (unlikely(!value)) {
         if (!PyErr_Occurred()) {
-            PyObject* args = PyTuple_Pack(1, key);
-            if (likely(args))
-                PyErr_SetObject(PyExc_KeyError, args);
-            Py_XDECREF(args);
+            if (unlikely(PyTuple_Check(key))) {
+                PyObject* args = PyTuple_Pack(1, key);
+                if (likely(args)) {
+                    PyErr_SetObject(PyExc_KeyError, args);
+                    Py_DECREF(args);
+                }
+            } else {
+                PyErr_SetObject(PyExc_KeyError, key);
+            }
         }
         return NULL;
     }
@@ -95549,7 +92288,7 @@
 #endif

 /* GetItemInt */
-    static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
+static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
     PyObject *r;
     if (!j) return NULL;
     r = PyObject_GetItem(o, j);
@@ -95564,7 +92303,7 @@
     if (wraparound & unlikely(i < 0)) {
         wrapped_i += PyList_GET_SIZE(o);
     }
-    if ((!boundscheck) || likely((0 <= wrapped_i) & (wrapped_i < PyList_GET_SIZE(o)))) {
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
         PyObject *r = PyList_GET_ITEM(o, wrapped_i);
         Py_INCREF(r);
         return r;
@@ -95582,7 +92321,7 @@
     if (wraparound & unlikely(i < 0)) {
         wrapped_i += PyTuple_GET_SIZE(o);
     }
-    if ((!boundscheck) || likely((0 <= wrapped_i) & (wrapped_i < PyTuple_GET_SIZE(o)))) {
+    if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
         PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
         Py_INCREF(r);
         return r;
@@ -95598,7 +92337,7 @@
 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
     if (is_list || PyList_CheckExact(o)) {
         Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
-        if ((!boundscheck) || (likely((n >= 0) & (n < PyList_GET_SIZE(o))))) {
+        if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
             PyObject *r = PyList_GET_ITEM(o, n);
             Py_INCREF(r);
             return r;
@@ -95606,7 +92345,7 @@
     }
     else if (PyTuple_CheckExact(o)) {
         Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
-        if ((!boundscheck) || likely((n >= 0) & (n < PyTuple_GET_SIZE(o)))) {
+        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
             PyObject *r = PyTuple_GET_ITEM(o, n);
             Py_INCREF(r);
             return r;
@@ -95636,7 +92375,7 @@
 }

 /* PyIntBinop */
-    #if !CYTHON_COMPILING_IN_PYPY
+#if !CYTHON_COMPILING_IN_PYPY
 static PyObject* __Pyx_PyInt_SubtractObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {
     #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_CheckExact(op1))) {
@@ -95758,7 +92497,7 @@
 #endif

 /* ObjectGetItem */
-    #if CYTHON_USE_TYPE_SLOTS
+#if CYTHON_USE_TYPE_SLOTS
 static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject* index) {
     PyObject *runerr;
     Py_ssize_t key_value;
@@ -95787,7 +92526,7 @@
 #endif

 /* SliceObject */
-    static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
+static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
         Py_ssize_t cstart, Py_ssize_t cstop,
         PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
         int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
@@ -95884,20 +92623,20 @@
 }

 /* RaiseTooManyValuesToUnpack */
-    static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
+static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) {
     PyErr_Format(PyExc_ValueError,
                  "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected);
 }

 /* RaiseNeedMoreValuesToUnpack */
-    static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
+static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) {
     PyErr_Format(PyExc_ValueError,
                  "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack",
                  index, (index == 1) ? "" : "s");
 }

 /* IterFinish */
-    static CYTHON_INLINE int __Pyx_IterFinish(void) {
+static CYTHON_INLINE int __Pyx_IterFinish(void) {
 #if CYTHON_FAST_THREAD_STATE
     PyThreadState *tstate = __Pyx_PyThreadState_Current;
     PyObject* exc_type = tstate->curexc_type;
@@ -95932,7 +92671,7 @@
 }

 /* UnpackItemEndCheck */
-    static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
+static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
     if (unlikely(retval)) {
         Py_DECREF(retval);
         __Pyx_RaiseTooManyValuesError(expected);
@@ -95944,7 +92683,7 @@
 }

 /* BytesEquals */
-    static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
+static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
 #if CYTHON_COMPILING_IN_PYPY
     return PyObject_RichCompareBool(s1, s2, equals);
 #else
@@ -95991,7 +92730,7 @@
 }

 /* UnicodeEquals */
-    static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
+static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
 #if CYTHON_COMPILING_IN_PYPY
     return PyObject_RichCompareBool(s1, s2, equals);
 #else
@@ -96070,6 +92809,9 @@
     } else {
         int result;
         PyObject* py_result = PyObject_RichCompare(s1, s2, equals);
+        #if PY_MAJOR_VERSION < 3
+        Py_XDECREF(owned_ref);
+        #endif
         if (!py_result)
             return -1;
         result = __Pyx_PyObject_IsTrue(py_result);
@@ -96090,7 +92832,7 @@
 }

 /* RaiseDoubleKeywords */
-    static void __Pyx_RaiseDoubleKeywordsError(
+static void __Pyx_RaiseDoubleKeywordsError(
     const char* func_name,
     PyObject* kw_name)
 {
@@ -96104,7 +92846,7 @@
 }

 /* ParseKeywords */
-    static int __Pyx_ParseOptionalKeywords(
+static int __Pyx_ParseOptionalKeywords(
     PyObject *kwds,
     PyObject **argnames[],
     PyObject *kwds2,
@@ -96206,7 +92948,7 @@
 }

 /* RaiseArgTupleInvalid */
-    static void __Pyx_RaiseArgtupleInvalid(
+static void __Pyx_RaiseArgtupleInvalid(
     const char* func_name,
     int exact,
     Py_ssize_t num_min,
@@ -96232,14 +92974,14 @@
 }

 /* StringJoin */
-    #if !CYTHON_COMPILING_IN_CPYTHON
+#if !CYTHON_COMPILING_IN_CPYTHON
 static CYTHON_INLINE PyObject* __Pyx_PyBytes_Join(PyObject* sep, PyObject* values) {
     return PyObject_CallMethodObjArgs(sep, __pyx_n_s_join, values, NULL);
 }
 #endif

 /* PyObjectCallNoArg */
-    #if CYTHON_COMPILING_IN_CPYTHON
+#if CYTHON_COMPILING_IN_CPYTHON
 static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
 #if CYTHON_FAST_PYCALL
     if (PyFunction_Check(func)) {
@@ -96247,10 +92989,11 @@
     }
 #endif
 #ifdef __Pyx_CyFunction_USED
-    if (likely(PyCFunction_Check(func) || __Pyx_TypeCheck(func, __pyx_CyFunctionType))) {
+    if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
 #else
-    if (likely(PyCFunction_Check(func))) {
+    if (likely(PyCFunction_Check(func)))
 #endif
+    {
         if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
             return __Pyx_PyObject_CallMethO(func, NULL);
         }
@@ -96260,15 +93003,15 @@
 #endif

 /* RaiseNoneIterError */
-      static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
+static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
 }

 /* pyobject_as_double */
-      static double __Pyx__PyObject_AsDouble(PyObject* obj) {
+static double __Pyx__PyObject_AsDouble(PyObject* obj) {
     PyObject* float_value;
 #if !CYTHON_USE_TYPE_SLOTS
-    float_value = PyNumber_Float(obj);  if (0) goto bad;
+    float_value = PyNumber_Float(obj);  if ((0)) goto bad;
 #else
     PyNumberMethods *nb = Py_TYPE(obj)->tp_as_number;
     if (likely(nb) && likely(nb->nb_float)) {
@@ -96305,12 +93048,12 @@
 }

 /* None */
-      static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
+static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
     PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
 }

 /* PyIntBinop */
-      #if !CYTHON_COMPILING_IN_PYPY
+#if !CYTHON_COMPILING_IN_PYPY
 static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, CYTHON_UNUSED int inplace) {
     #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_CheckExact(op1))) {
@@ -96431,13 +93174,29 @@
 }
 #endif

+/* GetTopmostException */
+#if CYTHON_USE_EXC_INFO_STACK
+static _PyErr_StackItem *
+__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
+{
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
+           exc_info->previous_item != NULL)
+    {
+        exc_info = exc_info->previous_item;
+    }
+    return exc_info;
+}
+#endif
+
 /* SaveResetException */
-      #if CYTHON_FAST_THREAD_STATE
+#if CYTHON_FAST_THREAD_STATE
 static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
-    #if PY_VERSION_HEX >= 0x030700A3
-    *type = tstate->exc_state.exc_type;
-    *value = tstate->exc_state.exc_value;
-    *tb = tstate->exc_state.exc_traceback;
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
+    *type = exc_info->exc_type;
+    *value = exc_info->exc_value;
+    *tb = exc_info->exc_traceback;
     #else
     *type = tstate->exc_type;
     *value = tstate->exc_value;
@@ -96449,13 +93208,14 @@
 }
 static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
     PyObject *tmp_type, *tmp_value, *tmp_tb;
-    #if PY_VERSION_HEX >= 0x030700A3
-    tmp_type = tstate->exc_state.exc_type;
-    tmp_value = tstate->exc_state.exc_value;
-    tmp_tb = tstate->exc_state.exc_traceback;
-    tstate->exc_state.exc_type = type;
-    tstate->exc_state.exc_value = value;
-    tstate->exc_state.exc_traceback = tb;
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    tmp_type = exc_info->exc_type;
+    tmp_value = exc_info->exc_value;
+    tmp_tb = exc_info->exc_traceback;
+    exc_info->exc_type = type;
+    exc_info->exc_value = value;
+    exc_info->exc_traceback = tb;
     #else
     tmp_type = tstate->exc_type;
     tmp_value = tstate->exc_value;
@@ -96471,7 +93231,7 @@
 #endif

 /* PyErrExceptionMatches */
-      #if CYTHON_FAST_THREAD_STATE
+#if CYTHON_FAST_THREAD_STATE
 static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
     Py_ssize_t i, n;
     n = PyTuple_GET_SIZE(tuple);
@@ -96496,11 +93256,12 @@
 #endif

 /* GetException */
-      #if CYTHON_FAST_THREAD_STATE
-static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
+#if CYTHON_FAST_THREAD_STATE
+static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
 #else
-static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) {
+static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
 #endif
+{
     PyObject *local_type, *local_value, *local_tb;
 #if CYTHON_FAST_THREAD_STATE
     PyObject *tmp_type, *tmp_value, *tmp_tb;
@@ -96533,13 +93294,16 @@
     *value = local_value;
     *tb = local_tb;
 #if CYTHON_FAST_THREAD_STATE
-    #if PY_VERSION_HEX >= 0x030700A3
-    tmp_type = tstate->exc_state.exc_type;
-    tmp_value = tstate->exc_state.exc_value;
-    tmp_tb = tstate->exc_state.exc_traceback;
-    tstate->exc_state.exc_type = local_type;
-    tstate->exc_state.exc_value = local_value;
-    tstate->exc_state.exc_traceback = local_tb;
+    #if CYTHON_USE_EXC_INFO_STACK
+    {
+        _PyErr_StackItem *exc_info = tstate->exc_info;
+        tmp_type = exc_info->exc_type;
+        tmp_value = exc_info->exc_value;
+        tmp_tb = exc_info->exc_traceback;
+        exc_info->exc_type = local_type;
+        exc_info->exc_value = local_value;
+        exc_info->exc_traceback = local_tb;
+    }
     #else
     tmp_type = tstate->exc_type;
     tmp_value = tstate->exc_value;
@@ -96566,7 +93330,7 @@
 }

 /* pyfrozenset_new */
-        static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
+static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
     if (it) {
         PyObject* result;
 #if CYTHON_COMPILING_IN_PYPY
@@ -96598,7 +93362,7 @@
 }

 /* PySetContains */
-        static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
+static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
     int result = -1;
     if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
         PyObject *tmpkey;
@@ -96620,16 +93384,17 @@
 }

 /* SwapException */
-        #if CYTHON_FAST_THREAD_STATE
+#if CYTHON_FAST_THREAD_STATE
 static CYTHON_INLINE void __Pyx__ExceptionSwap(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
     PyObject *tmp_type, *tmp_value, *tmp_tb;
-    #if PY_VERSION_HEX >= 0x030700A3
-    tmp_type = tstate->exc_state.exc_type;
-    tmp_value = tstate->exc_state.exc_value;
-    tmp_tb = tstate->exc_state.exc_traceback;
-    tstate->exc_state.exc_type = *type;
-    tstate->exc_state.exc_value = *value;
-    tstate->exc_state.exc_traceback = *tb;
+    #if CYTHON_USE_EXC_INFO_STACK
+    _PyErr_StackItem *exc_info = tstate->exc_info;
+    tmp_type = exc_info->exc_type;
+    tmp_value = exc_info->exc_value;
+    tmp_tb = exc_info->exc_traceback;
+    exc_info->exc_type = *type;
+    exc_info->exc_value = *value;
+    exc_info->exc_traceback = *tb;
     #else
     tmp_type = tstate->exc_type;
     tmp_value = tstate->exc_value;
@@ -96654,7 +93419,7 @@
 #endif

 /* ArgTypeTest */
-        static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
+static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
 {
     if (unlikely(!type)) {
         PyErr_SetString(PyExc_SystemError, "Missing type object");
@@ -96675,7 +93440,7 @@
 }

 /* IsLittleEndian */
-        static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
+static CYTHON_INLINE int __Pyx_Is_Little_Endian(void)
 {
   union {
     uint32_t u32;
@@ -96686,7 +93451,7 @@
 }

 /* BufferFormatCheck */
-        static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
+static void __Pyx_BufFmt_Init(__Pyx_BufFmt_Context* ctx,
                               __Pyx_BufFmt_StackElem* stack,
                               __Pyx_TypeInfo* type) {
   stack[0].field = &ctx->root;
@@ -97188,7 +93953,7 @@
 }

 /* BufferGetAndValidate */
-          static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
+  static CYTHON_INLINE void __Pyx_SafeReleaseBuffer(Py_buffer* info) {
   if (unlikely(info->buf == NULL)) return;
   if (info->suboffsets == __Pyx_minusones) info->suboffsets = NULL;
   __Pyx_ReleaseBuffer(info);
@@ -97235,13 +94000,13 @@
 }

 /* BufferFallbackError */
-          static void __Pyx_RaiseBufferFallbackError(void) {
+  static void __Pyx_RaiseBufferFallbackError(void) {
   PyErr_SetString(PyExc_ValueError,
      "Buffer acquisition failed on assignment; and then reacquiring the old buffer failed too!");
 }

 /* SetItemInt */
-          static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
+  static int __Pyx_SetItemInt_Generic(PyObject *o, PyObject *j, PyObject *v) {
     int r;
     if (!j) return -1;
     r = PyObject_SetItem(o, j, v);
@@ -97253,7 +94018,7 @@
 #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
     if (is_list || PyList_CheckExact(o)) {
         Py_ssize_t n = (!wraparound) ? i : ((likely(i >= 0)) ? i : i + PyList_GET_SIZE(o));
-        if ((!boundscheck) || likely((n >= 0) & (n < PyList_GET_SIZE(o)))) {
+        if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o)))) {
             PyObject* old = PyList_GET_ITEM(o, n);
             Py_INCREF(v);
             PyList_SET_ITEM(o, n, v);
@@ -97278,10 +94043,11 @@
     }
 #else
 #if CYTHON_COMPILING_IN_PYPY
-    if (is_list || (PySequence_Check(o) && !PyDict_Check(o))) {
+    if (is_list || (PySequence_Check(o) && !PyDict_Check(o)))
 #else
-    if (is_list || PySequence_Check(o)) {
+    if (is_list || PySequence_Check(o))
 #endif
+    {
         return PySequence_SetItem(o, i, v);
     }
 #endif
@@ -97289,13 +94055,74 @@
 }

 /* BufferIndexError */
-            static void __Pyx_RaiseBufferIndexError(int axis) {
+  static void __Pyx_RaiseBufferIndexError(int axis) {
   PyErr_Format(PyExc_IndexError,
      "Out of bounds on buffer access (axis %d)", axis);
 }

+/* TypeImport */
+  #ifndef __PYX_HAVE_RT_ImportType
+#define __PYX_HAVE_RT_ImportType
+static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name,
+    size_t size, enum __Pyx_ImportType_CheckSize check_size)
+{
+    PyObject *result = 0;
+    char warning[200];
+    Py_ssize_t basicsize;
+#ifdef Py_LIMITED_API
+    PyObject *py_basicsize;
+#endif
+    result = PyObject_GetAttrString(module, class_name);
+    if (!result)
+        goto bad;
+    if (!PyType_Check(result)) {
+        PyErr_Format(PyExc_TypeError,
+            "%.200s.%.200s is not a type object",
+            module_name, class_name);
+        goto bad;
+    }
+#ifndef Py_LIMITED_API
+    basicsize = ((PyTypeObject *)result)->tp_basicsize;
+#else
+    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
+    if (!py_basicsize)
+        goto bad;
+    basicsize = PyLong_AsSsize_t(py_basicsize);
+    Py_DECREF(py_basicsize);
+    py_basicsize = 0;
+    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
+        goto bad;
+#endif
+    if ((size_t)basicsize < size) {
+        PyErr_Format(PyExc_ValueError,
+            "%.200s.%.200s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        goto bad;
+    }
+    if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) {
+        PyErr_Format(PyExc_ValueError,
+            "%.200s.%.200s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        goto bad;
+    }
+    else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) {
+        PyOS_snprintf(warning, sizeof(warning),
+            "%s.%s size changed, may indicate binary incompatibility. "
+            "Expected %zd from C header, got %zd from PyObject",
+            module_name, class_name, size, basicsize);
+        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
+    }
+    return (PyTypeObject *)result;
+bad:
+    Py_XDECREF(result);
+    return NULL;
+}
+#endif
+
 /* Import */
-            static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
+  static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
     PyObject *empty_list = 0;
     PyObject *module = 0;
     PyObject *global_dict = 0;
@@ -97342,7 +94169,7 @@
             if (!py_level)
                 goto bad;
             module = PyObject_CallFunctionObjArgs(py_import,
-                name, global_dict, empty_dict, list, py_level, NULL);
+                name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
             Py_DECREF(py_level);
             #else
             module = PyImport_ImportModuleLevelObject(
@@ -97360,7 +94187,7 @@
 }

 /* ImportFrom */
-            static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
+  static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
     PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
     if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
         PyErr_Format(PyExc_ImportError,
@@ -97374,8 +94201,8 @@
 }

 /* CLineInTraceback */
-            #ifndef CYTHON_CLINE_IN_TRACEBACK
-static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
+  #ifndef CYTHON_CLINE_IN_TRACEBACK
+static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) {
     PyObject *use_cline;
     PyObject *ptype, *pvalue, *ptraceback;
 #if CYTHON_COMPILING_IN_CPYTHON
@@ -97388,7 +94215,9 @@
 #if CYTHON_COMPILING_IN_CPYTHON
     cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime);
     if (likely(cython_runtime_dict)) {
-      use_cline = __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback);
+        __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
+            use_cline, *cython_runtime_dict,
+            __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback))
     } else
 #endif
     {
@@ -97405,7 +94234,7 @@
         c_line = 0;
         PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False);
     }
-    else if (PyObject_Not(use_cline) != 0) {
+    else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) {
         c_line = 0;
     }
     __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback);
@@ -97414,7 +94243,7 @@
 #endif

 /* CodeObjectCache */
-            static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
+  static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
     int start = 0, mid = 0, end = count - 1;
     if (end >= 0 && code_line > entries[end].code_line) {
         return count;
@@ -97494,7 +94323,7 @@
 }

 /* AddTraceback */
-            #include "compile.h"
+  #include "compile.h"
 #include "frameobject.h"
 #include "traceback.h"
 static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
@@ -97602,9 +94431,9 @@
 #endif

-            /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {
-    const enum NPY_TYPES neg_one = (enum NPY_TYPES) -1, const_zero = (enum NPY_TYPES) 0;
+  /* CIntToPy */
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_enum__NPY_TYPES(enum NPY_TYPES value) {
+    const enum NPY_TYPES neg_one = (enum NPY_TYPES) ((enum NPY_TYPES) 0 - (enum NPY_TYPES) 1), const_zero = (enum NPY_TYPES) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(enum NPY_TYPES) < sizeof(long)) {
@@ -97634,7 +94463,7 @@
 }

 /* CIntFromPyVerify */
-            #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
+  #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
     __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
 #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
     __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
@@ -97656,8 +94485,8 @@
     }

 /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) {
-    const Py_intptr_t neg_one = (Py_intptr_t) -1, const_zero = (Py_intptr_t) 0;
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_Py_intptr_t(Py_intptr_t value) {
+    const Py_intptr_t neg_one = (Py_intptr_t) ((Py_intptr_t) 0 - (Py_intptr_t) 1), const_zero = (Py_intptr_t) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(Py_intptr_t) < sizeof(long)) {
@@ -97687,8 +94516,8 @@
 }

 /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_long(unsigned long value) {
-    const unsigned long neg_one = (unsigned long) -1, const_zero = (unsigned long) 0;
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_long(unsigned long value) {
+    const unsigned long neg_one = (unsigned long) ((unsigned long) 0 - (unsigned long) 1), const_zero = (unsigned long) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(unsigned long) < sizeof(long)) {
@@ -97718,8 +94547,8 @@
 }

 /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
-    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_unsigned_int(unsigned int value) {
+    const unsigned int neg_one = (unsigned int) ((unsigned int) 0 - (unsigned int) 1), const_zero = (unsigned int) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(unsigned int) < sizeof(long)) {
@@ -97749,8 +94578,8 @@
 }

 /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
-    const int neg_one = (int) -1, const_zero = (int) 0;
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
+    const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(int) < sizeof(long)) {
@@ -97780,8 +94609,8 @@
 }

 /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
-    const long neg_one = (long) -1, const_zero = (long) 0;
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
+    const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(long) < sizeof(long)) {
@@ -97811,8 +94640,8 @@
 }

 /* CIntToPy */
-            static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
+  static CYTHON_INLINE PyObject* __Pyx_PyInt_From_PY_LONG_LONG(PY_LONG_LONG value) {
+    const PY_LONG_LONG neg_one = (PY_LONG_LONG) ((PY_LONG_LONG) 0 - (PY_LONG_LONG) 1), const_zero = (PY_LONG_LONG) 0;
     const int is_unsigned = neg_one > const_zero;
     if (is_unsigned) {
         if (sizeof(PY_LONG_LONG) < sizeof(long)) {
@@ -97842,7 +94671,7 @@
 }

 /* Declarations */
-            #if CYTHON_CCOMPLEX
+  #if CYTHON_CCOMPLEX
   #ifdef __cplusplus
     static CYTHON_INLINE __pyx_t_float_complex __pyx_t_float_complex_from_parts(float x, float y) {
       return ::std::complex< float >(x, y);
@@ -97862,7 +94691,7 @@
 #endif

 /* Arithmetic */
-            #if CYTHON_CCOMPLEX
+  #if CYTHON_CCOMPLEX
 #else
     static CYTHON_INLINE int __Pyx_c_eq_float(__pyx_t_float_complex a, __pyx_t_float_complex b) {
        return (a.real == b.real) && (a.imag == b.imag);
@@ -97997,7 +94826,7 @@
 #endif

 /* Declarations */
-            #if CYTHON_CCOMPLEX
+  #if CYTHON_CCOMPLEX
   #ifdef __cplusplus
     static CYTHON_INLINE __pyx_t_double_complex __pyx_t_double_complex_from_parts(double x, double y) {
       return ::std::complex< double >(x, y);
@@ -98017,7 +94846,7 @@
 #endif

 /* Arithmetic */
-            #if CYTHON_CCOMPLEX
+  #if CYTHON_CCOMPLEX
 #else
     static CYTHON_INLINE int __Pyx_c_eq_double(__pyx_t_double_complex a, __pyx_t_double_complex b) {
        return (a.real == b.real) && (a.imag == b.imag);
@@ -98152,8 +94981,8 @@
 #endif

 /* CIntFromPy */
-            static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
-    const int neg_one = (int) -1, const_zero = (int) 0;
+  static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
+    const int neg_one = (int) ((int) 0 - (int) 1), const_zero = (int) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -98341,8 +95170,8 @@
 }

 /* CIntFromPy */
-            static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
-    const long neg_one = (long) -1, const_zero = (long) 0;
+  static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
+    const long neg_one = (long) ((long) 0 - (long) 1), const_zero = (long) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -98530,8 +95359,8 @@
 }

 /* CIntFromPy */
-            static CYTHON_INLINE Py_intptr_t __Pyx_PyInt_As_Py_intptr_t(PyObject *x) {
-    const Py_intptr_t neg_one = (Py_intptr_t) -1, const_zero = (Py_intptr_t) 0;
+  static CYTHON_INLINE Py_intptr_t __Pyx_PyInt_As_Py_intptr_t(PyObject *x) {
+    const Py_intptr_t neg_one = (Py_intptr_t) ((Py_intptr_t) 0 - (Py_intptr_t) 1), const_zero = (Py_intptr_t) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -98719,8 +95548,8 @@
 }

 /* CIntFromPy */
-            static CYTHON_INLINE unsigned long __Pyx_PyInt_As_unsigned_long(PyObject *x) {
-    const unsigned long neg_one = (unsigned long) -1, const_zero = (unsigned long) 0;
+  static CYTHON_INLINE unsigned long __Pyx_PyInt_As_unsigned_long(PyObject *x) {
+    const unsigned long neg_one = (unsigned long) ((unsigned long) 0 - (unsigned long) 1), const_zero = (unsigned long) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -98908,8 +95737,8 @@
 }

 /* CIntFromPy */
-            static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
-    const size_t neg_one = (size_t) -1, const_zero = (size_t) 0;
+  static CYTHON_INLINE size_t __Pyx_PyInt_As_size_t(PyObject *x) {
+    const size_t neg_one = (size_t) ((size_t) 0 - (size_t) 1), const_zero = (size_t) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -99097,8 +95926,8 @@
 }

 /* CIntFromPy */
-            static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
-    const unsigned int neg_one = (unsigned int) -1, const_zero = (unsigned int) 0;
+  static CYTHON_INLINE unsigned int __Pyx_PyInt_As_unsigned_int(PyObject *x) {
+    const unsigned int neg_one = (unsigned int) ((unsigned int) 0 - (unsigned int) 1), const_zero = (unsigned int) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -99286,8 +96115,8 @@
 }

 /* CIntFromPy */
-            static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_As_PY_LONG_LONG(PyObject *x) {
-    const PY_LONG_LONG neg_one = (PY_LONG_LONG) -1, const_zero = (PY_LONG_LONG) 0;
+  static CYTHON_INLINE PY_LONG_LONG __Pyx_PyInt_As_PY_LONG_LONG(PyObject *x) {
+    const PY_LONG_LONG neg_one = (PY_LONG_LONG) ((PY_LONG_LONG) 0 - (PY_LONG_LONG) 1), const_zero = (PY_LONG_LONG) 0;
     const int is_unsigned = neg_one > const_zero;
 #if PY_MAJOR_VERSION < 3
     if (likely(PyInt_Check(x))) {
@@ -99475,7 +96304,7 @@
 }

 /* FastTypeChecks */
-            #if CYTHON_COMPILING_IN_CPYTHON
+  #if CYTHON_COMPILING_IN_CPYTHON
 static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
     while (a) {
         a = a->tp_base;
@@ -99575,7 +96404,7 @@
 #endif

 /* CheckBinaryVersion */
-            static int __Pyx_check_binary_version(void) {
+  static int __Pyx_check_binary_version(void) {
     char ctversion[4], rtversion[4];
     PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
     PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
@@ -99590,91 +96419,8 @@
     return 0;
 }

-/* ModuleImport */
-            #ifndef __PYX_HAVE_RT_ImportModule
-#define __PYX_HAVE_RT_ImportModule
-static PyObject *__Pyx_ImportModule(const char *name) {
-    PyObject *py_name = 0;
-    PyObject *py_module = 0;
-    py_name = __Pyx_PyIdentifier_FromString(name);
-    if (!py_name)
-        goto bad;
-    py_module = PyImport_Import(py_name);
-    Py_DECREF(py_name);
-    return py_module;
-bad:
-    Py_XDECREF(py_name);
-    return 0;
-}
-#endif
-
-/* TypeImport */
-            #ifndef __PYX_HAVE_RT_ImportType
-#define __PYX_HAVE_RT_ImportType
-static PyTypeObject *__Pyx_ImportType(const char *module_name, const char *class_name,
-    size_t size, int strict)
-{
-    PyObject *py_module = 0;
-    PyObject *result = 0;
-    PyObject *py_name = 0;
-    char warning[200];
-    Py_ssize_t basicsize;
-#ifdef Py_LIMITED_API
-    PyObject *py_basicsize;
-#endif
-    py_module = __Pyx_ImportModule(module_name);
-    if (!py_module)
-        goto bad;
-    py_name = __Pyx_PyIdentifier_FromString(class_name);
-    if (!py_name)
-        goto bad;
-    result = PyObject_GetAttr(py_module, py_name);
-    Py_DECREF(py_name);
-    py_name = 0;
-    Py_DECREF(py_module);
-    py_module = 0;
-    if (!result)
-        goto bad;
-    if (!PyType_Check(result)) {
-        PyErr_Format(PyExc_TypeError,
-            "%.200s.%.200s is not a type object",
-            module_name, class_name);
-        goto bad;
-    }
-#ifndef Py_LIMITED_API
-    basicsize = ((PyTypeObject *)result)->tp_basicsize;
-#else
-    py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
-    if (!py_basicsize)
-        goto bad;
-    basicsize = PyLong_AsSsize_t(py_basicsize);
-    Py_DECREF(py_basicsize);
-    py_basicsize = 0;
-    if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
-        goto bad;
-#endif
-    if (!strict && (size_t)basicsize > size) {
-        PyOS_snprintf(warning, sizeof(warning),
-            "%s.%s size changed, may indicate binary incompatibility. Expected %zd, got %zd",
-            module_name, class_name, basicsize, size);
-        if (PyErr_WarnEx(NULL, warning, 0) < 0) goto bad;
-    }
-    else if ((size_t)basicsize != size) {
-        PyErr_Format(PyExc_ValueError,
-            "%.200s.%.200s has the wrong size, try recompiling. Expected %zd, got %zd",
-            module_name, class_name, basicsize, size);
-        goto bad;
-    }
-    return (PyTypeObject *)result;
-bad:
-    Py_XDECREF(py_module);
-    Py_XDECREF(result);
-    return NULL;
-}
-#endif
-
 /* InitStrings */
-            static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
+  static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
     while (t->p) {
         #if PY_MAJOR_VERSION < 3
         if (t->is_unicode) {
@@ -99782,6 +96528,13 @@
    int is_true = x == Py_True;
    if (is_true | (x == Py_False) | (x == Py_None)) return is_true;
    else return PyObject_IsTrue(x);
+}
+static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) {
+    int retval;
+    if (unlikely(!x)) return -1;
+    retval = __Pyx_PyObject_IsTrue(x);
+    Py_DECREF(x);
+    return retval;
 }
 static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) {
 #if PY_MAJOR_VERSION >= 3
@@ -99860,7 +96613,7 @@
     if (sizeof(Py_ssize_t) >= sizeof(long))
         return PyInt_AS_LONG(b);
     else
-        return PyInt_AsSsize_t(x);
+        return PyInt_AsSsize_t(b);
   }
 #endif
   if (likely(PyLong_CheckExact(b))) {